是否可以包含Git认为没有改变的文件?

时间:2016-03-22 13:56:53

标签: git

我已更新了我的favicon,因此必须使用新的favicon.ico文件替换现有的favicon.ico文件。显然,因为名字是相同的,Git并不认为任何事情都发生了变化。有没有办法强制它作为提交的一部分包含在内?

2 个答案:

答案 0 :(得分:5)

git不仅仅依赖于文件名的更改来检测文件是否已被修改。 It uses information returned by lstat.

如果,某种程度上,您已经更改了文件的内容而没有更改lstat返回的内容,那么git会认为它没有改变。修复只是touch文件(例如touch favicon.ico)更改其lstat数据。

如果git仍然认为文件在touch之后没有改变,那么你实际上并没有改变文件内容,或者文件被忽略(例如.gitignore),或者你被告知git以其他​​方式忽略对文件的更改(例如git update-index --assume-unchanged)。

答案 1 :(得分:0)

即使名称不会改变,Git也应该明确注意到这些文件的变化。如果您只是更改linux下的文件权限,Git甚至会注意到。这就是为什么在递归使用时应该注意chmodchown。但是,使用--assume-unchanged选项时可能会发生这种情况。但是,这可以针对某个文件停止。

git update-index --no-assume-unchanged path/to/file
相关问题