也许是重复的,但是没有找到这个问题的答案。
我们有一个存储库,该存储库包含一些跟踪文件,例如“ .gitignore”文件以及“ conf”文件夹。
我想排除对该文件和文件夹的跟踪,因为它包含的更改仅适用于我的计算机,并且我不想通过将更改提交到这些配置文件来破坏其他人的设置。
在“ .gitignore”中添加此文件和文件夹无济于事,因为它仍在跟踪中。
如何避免在这些文件中跟踪这些更改?
答案 0 :(得分:0)
您要设置标志assume-unchanged
。为此,您可以使用git update-index
:
git update-index --assume-unchanged .gitignore
稍后,如果您要取消设置标志以提交对fil的更改,请使用
git update-index --no-assume-unchanged .gitignore
有关更多信息,请参阅git doc:
-[无]假设不变
指定此标志时,为路径记录的对象名称不会更新。相反,此选项设置/取消“假设 路径的“不变”位。当“假定不变”位打开时, 用户承诺不会更改文件,并允许Git假定 工作树文件与索引中记录的文件匹配。如果你 要更改工作树文件,您需要取消设置 告诉吉特。在使用大型项目时,这有时会有所帮助 lstat(2)系统调用非常慢的文件系统(例如cifs)。
如果需要修改索引中的该文件,Git将失败(正常)。合并提交时;因此,如果 假定未跟踪的文件在上游已更改,则需要处理 手动情况。
编辑
要将标志应用于文件夹,您需要对文件夹中的每个文件执行命令。有关自动执行此任务的提示,请参见this answer(如果您的文件夹包含许多文件)。 示例:
cd /path/to/the/folder
git ls-files -z | xargs -0 git update-index --assume-unchanged