2016-11-22 1 views
2

Git zeigt an, dass eine Datei Änderungen aufweist. Wenn ich jedoch git difftool ausführen und die Datei in Beyond Compare öffnen, werden die Dateien als binär identisch angezeigt. Selbst wenn ich Beyond Compare im Hex-Modus öffne, werden die Dateien immer noch als identisch angezeigt.Git zeigt Dateien als geändert an, obwohl Dateien Byte für Byte identisch sind

Ich git 2.9.2.windows.1 auf Windows 10 laufen. Ich sehe dieses Problem, wenn ich git von PowerShell und von der msys git Bash Prompt ausführen.

Hat jemand anderes das schon einmal gesehen? Hinweis: Ich spreche nicht über Änderungen in Zeilenenden, da Zeilenendeunterschiede in einem Hexadezimalvergleich der Dateien deutlich sichtbar wären.

+0

überprüfen Sie die Dateinamen in der Ausgabe von 'git ls-files' angezeigt wird, stellen Sie sicher, dass der Fall die reale Datei in Ihrem System entspricht. Wenn Sie zum Beispiel in 'git ls-files'' someFile' sehen, haben Sie in Ihrem Dateisystem 'somefile', das das von Ihnen beobachtete Verhalten verursachen kann. – janos

+0

Wie zeigt Git die Änderungen an? Über 'git status' oder über' git diff' (nicht 'git difftool')? – sschuberth

+0

Wenn ich 'git diff' starte, wird jede Zeile der Datei als geändert angezeigt, aber soweit ich das beurteilen kann, gibt es keine Inhaltsänderungen. Der Grund, warum ich difftool benutzte, war, die tatsächlichen Bytes der Datei zu sehen, aber diese scheinen auch identisch zu sein. – quanticle

Antwort

2

Das könnte eine Änderung im Dateimodus sein, alias Unix-Modus-Bits. Selbst unter Windows (die keine Unix-Modus-Bits hat) verfolgt Git den Datei-Modus, der z. indem Sie git update-index --chmod=+x <filename> ausführen. Sie können doppelt überprüfen git status -v, indem Sie die in diesem Fall wäre so etwas wie

$ 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 
+0

Ich lief 'git status -v', aber es zeigte nur ziemlich die gleiche Ausgabe wie' git status'. Ich habe definitiv keine Änderungen im Dateimodus oder andere Metadatenänderungen gesehen. – quanticle

Verwandte Themen