Diff-Details für nicht festgeschriebene Änderungen in Git anzeigen
Dieser Artikel beschreibt, wie wir die diff
-Details für nicht festgeschriebene Arbeit in Git erhalten können. Wir verwenden den Befehl git diff
, um den Unterschied zwischen verschiedenen Git-Referenzen zu zeigen, zum Beispiel Commits, Index und Working Trees.
Wir können den Befehl verwenden, um die Details unserer nicht festgeschriebenen Arbeit anzuzeigen, wie wir weiter unten besprechen werden.
Diff-Details für nicht festgeschriebene Änderungen in Git anzeigen
Zum leichteren Kontext verwenden wir ein Beispiel. Nehmen wir an, das folgende Bild zeigt den aktuellen Zustand unseres Arbeitsverzeichnisses in unserem Repository.
Beide oben genannten Dateien fallen unter die Kategorie der nicht festgeschriebenen Arbeiten. Der Befehl git diff
funktioniert jedoch nicht gleich für Staging- und Unstaged-Dateien.
Beginnen wir für ein klareres Bild mit dem einfachen git diff
ohne Parameter.
$ git diff
Ausgang:
Sie werden feststellen, dass der Befehl git diff
ohne Parameter nur die Änderungen für Ihre nicht bereitgestellten Dateien anzeigt. Aus der Git-Dokumentation zeigt der Befehl git diff
ohne Parameter Änderungen relativ zum Index an.
Diese Änderungen sollten in den Index aufgenommen werden, sind aber noch nicht hinzugefügt.
Wie zeigen wir die diff
-Details für die bereitgestellten Dateien an?
Um die Änderungen für Staging-Dateien anzuzeigen, verwenden wir den Befehl git diff
, wie unten dargestellt.
$ git diff --cached
Ergebnis:
Wir können sehen, dass das Hinzufügen des Flags --cached
zu unserem git diff
-Befehl die diff
-Details für unsere Staging-Datei anzeigt. Getreu dem besagt die Git-Dokumentation, dass das git diff --cached
gestufte Änderungen relativ zum aktuellen Commit (HEAD
) anzeigen wird.
Was ist, wenn wir die Befehle nicht separat ausführen möchten?
Um die diff
-Details sowohl für gestaffelte als auch für nicht gestaffelte Änderungen anzuzeigen, führen Sie den Befehl git diff
aus, wie unten dargestellt.
$ git diff HEAD
Ergebnis:
Der Befehl git diff HEAD
zeigt die diff
-Details zwischen dem Arbeitsverzeichnis und dem aktuellen Commit an.
Bonus-Tipp
Wenn Sie Schwierigkeiten haben, die obigen diff
-Details zu lesen, können Sie ein difftool
eines Drittanbieters wie Meld verwenden.
Kurz gesagt, wir können den Befehl git diff
manipulieren, um die diff
-Details für unsere nicht festgeschriebene Arbeit anzuzeigen, abhängig von der Kategorie Ihrer Dateien. Wir haben gesehen, wie wir die diff
-Details für gestaffelte und nicht gestagte Dateien in Git anzeigen können.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn