我的同事有一个问题,即他的提交会将每个文件都包含在存储库中而不仅仅是更改的文件中。文件内容完全相同,但我们的私有Github存储库中的更改集显示删除了所有先前版本的行,并添加了所有“新”版本的行,即使实际上没有任何更改。二进制文件也会发生这种情况,实际文件从第一个版本到下一个版本都是相同的。
什么会导致这种情况以及如何防止它?
答案 0 :(得分:6)
由于Git通过散列内容来识别文件,因此真正相同的文件永远不会存储两次。
您所看到的可能是存储库之间的行结束差异的症状。如果不了解更多有关您的设置的信息,很难提供精确的建议,但阅读Git的配置选项core.autocrlf
和core.safecrlf
可能对您有帮助。
答案 1 :(得分:0)
我猜,但我敢打赌,你的工作目录和你的提交之间的行结尾是不同的。这个答案可以为您提供解决问题的方法。
Trying to fix line-endings with git filter-branch, but having no luck