问题描述
|
我正在研究的一个开源项目中有一个配置文件stuff.conf。我希望此文件的示例副本位于Git存储库中(在其正确路径中),以便克隆该项目的人员可以获取它。但是,在使用软件时对配置进行本地更改是很方便的-在这一点上,我不可避免地会无意间使用git -a提交这些更改。最好的情况是,更改后的文件围绕git状态发出抱怨。
在包含配置变量的Makefile中也会出现类似的问题。
除了从Git控件中删除文件之外,还有什么方法可以告诉Git忽略对特定路径的更改,直到另行通知?
解决方法
git update-index --assume-unchanged
可以解决问题。
从http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html:
当“假定不变”位为打开时,
git停止检查工作树
文件进行可能的修改,因此
您需要手动将位设置为
告诉git当你改变工作方式
树文件。有时这是有帮助的
在一个大型项目上工作时
lstat(2)非常慢的文件系统
系统调用(例如CIF)。
此选项也可以用作
忽略的粗略文件级机制
跟踪文件中未提交的更改
(类似于.gitignore的作用
未跟踪的文件)。 Git会失败
(优美地)以备不时之需
在索引中修改此文件,例如
合并提交时;因此,在
假设未跟踪的文件是
改变上游,您将需要
手动处理情况。