Wenn Sie dem Index noch keine Dateien hinzugefügt haben (mit git add
), tun Sie dies einfach
git diff
Dies zeigt den Unterschied zwischen Ihrem Arbeitsbaum und dem Index.
Wenn Sie dem Index Dateien hinzugefügt haben, müssen Sie dies tun, um die Unterschiede zwischen dem Index und dem letzten Commit (HEAD) anzuzeigen.
git diff --cached
Wenn Sie die Änderungen sehen möchten, die im Arbeitsbaum im Vergleich zum letzten Commit ( HEAD
) vorgenommen wurden, können Sie dies (wie Carlos betont) tun
git diff HEAD
Diese Änderungen sind die Kombination von git diff
und git diff --cached
.
git diff
vergleicht den Arbeitsbaum mit dem Index, nicht mit HEAD.git diff
den Status des Index und das vorherige Commit in einer Diff-Nachricht anzuzeigen?git diff --cached HEAD^
:)Wenn Sie gerade ein Commit durchgeführt haben oder sehen möchten, was sich im letzten Commit im Vergleich zum aktuellen Status geändert hat (vorausgesetzt, Sie haben einen sauberen Arbeitsbaum), können Sie Folgendes verwenden:
Dadurch wird der HEAD mit dem Commit unmittelbar zuvor verglichen. Man könnte es auch tun
zum Vergleich mit dem Stand der Dinge vor 2 Commits. Um den Unterschied zwischen dem aktuellen Status und einem bestimmten Commit zu erkennen, gehen Sie einfach wie folgt vor:
Wo
b6af6qc
ist ein Beispiel für einen Commit-Hash?quelle
HEAD^
ist das Commit vor dem letzten Commit.Sie bitten git, das aktuelle / letzte Commit zu unterscheiden, das eine Abkürzung von hat
HEAD
.So
git diff HEAD
wird den aktuellen Zustand des worktree mit dem aktuellen begehen vergleichen.quelle
Dies zeigt auch den Unterschied und welche Dateien geändert / modifiziert wurden.
Zeigt Pfade mit Unterschieden zwischen der Indexdatei und dem aktuellen HEAD-Commit, Pfade mit Unterschieden zwischen dem Arbeitsbaum und der Indexdatei sowie Pfade im Arbeitsbaum an, die nicht von git verfolgt werden (und von gitignore nicht ignoriert werden (5). ). Die ersten sind das, was Sie durch Ausführen von git commit festschreiben würden. Das zweite und dritte können Sie festschreiben, indem Sie git add ausführen, bevor Sie git commit ausführen.
https://www.kernel.org/pub/software/scm/git/docs/git-status.html
quelle
Das funktioniert auch bei mir:
Dies funktioniert normalerweise für eine lineare Historie. Dies könnte schwieriger werden, wenn es auch Zusammenführungs-Commits gibt. Ich empfehle Ihnen, in diesem Dokument eine schöne und vollständige Erklärung zu finden, insbesondere das Beispiel für die Abbildung eines Commit-Baums:
https://git-scm.com/docs/gitrevisions
quelle