3 回答
TA贡献1836条经验 获得超5个赞
git update-index 想要在其命令行上使用文件名,而不是在其标准输入上。
步骤1:
cd 进入您要假设的文件夹不变
第2步:
你可以这样做:
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ')
要么
git ls-files | tr '\n' ' ' | xargs git update-index --assume-unchanged
虽然,无论哪种情况,带空格的文件名都会有问题。如果你有这些,你可以使用这个:
git ls-files -z | xargs -0 git update-index --assume-unchanged
编辑:纳入来自@MatthewScharley的输入git ls-files -z。
Windows命令
注意:如果您使用的是Windows,请使用Git Bash运行这些命令
TA贡献2036条经验 获得超8个赞
find来自GNU Findutils 的命令有一个-exec选项可以消除大部分使用麻烦xargs,虽然它的语法有点特殊。但它确实与带有空格的文件名完美匹配。
这个命令将让git假设所列目录中和下面的所有文件都保持不变:
find path/to/dir -type f -exec git update-index --assume-unchanged '{}' \;
查找接受每个参数,-exec直到;(你必须逃脱,以免你的shell吃掉它)并为找到的每个文件运行一次,同时用{}找到的文件名替换(再次,单引号,这样你的shell不会吃它)。
使用find匹配条件(最大递归深度,匹配是文件还是目录,文件名是否与表达式匹配),-exec你可以做各种有力的事情。
不确定该find命令的其他实现。因人而异。
- 3 回答
- 0 关注
- 1625 浏览
添加回答
举报