即使文件是逐字节相同的,Git也会将文件显示为已更改

时间:2016-11-22 21:41:11

标签: git

Git表示文件有变化。但是,当我运行{ "_id" : "4087322f-1ad0-4595-935f-b41ef6d87306", "lastModifiedDate" : ISODate("2016-11-22T20:48:05.904Z"), "notes" : " I do not like him that much", "peopleId" : "1121", "status" : "asses" } 并在Beyond Compare中打开文件时,它会将文件显示为二进制相同。即使我以十六进制模式打开Beyond Compare,它仍然显示文件相同。

我在Windows 10上运行git 2.9.2.windows.1。当我从PowerShell和msys git bash提示符运行git时,我看到了这个问题。

以前有没有人见过这个?注意:我不是在谈论行结尾的变化,因为行结尾差异在文件的十六进制比较中显然是可见的。

1 个答案:

答案 0 :(得分:2)

这可能是文件模式的改变,也就是Unix模式位。即使在Windows(没有Unix模式位)上,Git也会跟踪可能会改变的文件模式,例如:通过运行git update-index --chmod=+x <filename>。您可以通过运行git status -v来仔细检查,在这种情况下会显示类似

的内容
$ git status -v
On branch version-defines
Your branch is up-to-date with 'origin/version-defines'.
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   circle.yml

diff --git a/circle.yml b/circle.yml
old mode 100644
new mode 100755