Git 提交后的消息“ rewrite... (90%)”是什么意思?

当 git 执行提交时,它使用类似于 rewrite foobar.bin (76%)的东西重写二进制文件。那是什么?从旧文件中更改的百分比还是保留的百分比。我知道 git 对文件使用二进制增量,但我只是不知道% 表示的重写有多少,而且它似乎不在 git help commit的帮助页面中。

谢谢!

27717 次浏览

它正试图将 CR 和 LF 重写成一致的格式。也就是说,它不会将二进制文件视为二进制文件。为了强制 git 正确执行此操作,在 。 gittribute中放置以下代码行:

*.bin -crlf -diff -merge

来自 这一页的意思是:

所有扩展名为[ . bin ]的文件将 not have carriage return/line feed 翻译完成,不会有差异 合并会导致冲突 leaving the original file untouched.

它是相似性指数的度量。相似性指数是不变线条的百分比。Git 认为你的文件是文本。

我相信马丁是正确的,这个数字就是相似度指数:

相似性指数是百分比 of unchanged lines, and the 不同指数是百分比 这是一个四舍五入 整数,后跟百分号。 100% 的相似性指数值是 thus reserved for two equal files, 而100% 的不同意味着没有 从旧文件中删除一行 the new one.

第一次看到这个数字时,我以为我的二进制文件正在发生戏剧性的变化。