当git执行提交时,它会使用类似于rewrite foobar.bin (76%)
的内容重写二进制文件。那是什么 %?是旧文件中的百分比更改还是保留百分比。我知道git对文件使用二进制增量,但我只是不知道%代表了多少重写,而且它似乎不在git help commit
的帮助页面中。
谢谢!
答案 0 :(得分:55)
它是相似性指数的衡量标准。相似性指数是未改变线的百分比。 git认为你的文件是文本。
答案 1 :(得分:22)
我相信马丁是正确的,这个数字是相似指数。来自git-diff手册页:
相似性指数是百分比 不变的线条,和 相异指数是百分比 变化的线条。这是一个向下舍入 整数,后跟百分号。 相似性指数值为100% 因此保留两个相同的文件, 而100%相异意味着没有 从旧文件的行进入 新的。
我第一次看到我认为我的二进制文件发生了巨大变化的数字!
答案 2 :(得分:-4)
尝试将CR和LF重写为一致的格式。也就是说,它不会将您的二进制文件视为二进制文件。要强制git正确执行此操作,请在.gitattributes中添加以下行:
*.bin -crlf -diff -merge
来自this page,意思是:
所有带[.bin]扩展名的文件都会 没有回车/换行 完成翻译,不会分歧 合并将导致冲突 保持原始文件不受影响。