git 1.7.12
我想将给定目录下的所有文件标记为假设不变。
git update-index --assume-unchanged dir/
git update-index --assume-unchanged dir/*
cd
git ls-files | tr '\n' ' ' | git update-index --assume-unchanged
git ls-files | tr '\n' ' '
git update-index
dir不,我添加到 .gitignore是不够的。我需要将这些文件放在存储库中,但是会在本地进行不需要的更改,这些更改需要被忽略,以便用户可以进行拉取。
dir
git update-index想要文件名在它的命令行上,而不是在它的标准输入上。
cd进入您要假设的文件夹不变
你可以这样做:
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.
git ls-files -z
注意:如果您使用的是 Windows,请使用Git Bash运行这些命令