git update-index --assume-unchanged - 但文件仍然偶尔更新

时间:2015-05-07 19:41:05

标签: git

我有一个我运行的配置文件:

git update-index --assume-unchanged <name of config file>

它没有被跟踪,但它偶尔会被更新。不知道如何,但令人难以置信的沮丧。

有关我如何准确追踪造成问题的原因的任何建议吗?

1 个答案:

答案 0 :(得分:1)

git update-index --assume-unchaged主要是为了在file system has an inefficient lstat(2) implementation时避免出现问题。它的主要目标是提高性能; assume-unchanged无意保护文件免受上游更改或硬重置。

你真正想要的是git update-index --skip-worktree。虽然文档在这方面并不是特别明显,但是当您拥有在本地更改(as explained in this answer)的文件时应使用skip-worktree位,同时避免提交此文件对存储库的更改。

可悲的是assume-unchangedskip-worktree的名字非常糟糕地传达了他们的意图,大部分时间skip-worktree是最佳选择和正确的解决方案。