Bitte versuchen Sie git diff --staged
-Befehl.
Weitere Optionen, die Sie verwenden können.
git diff
zeigt Änderungen zwischen Index- / Staging- und Arbeitsdateien. In Ihrem Fall hat git add
den file-with-changes
in den Staging-Bereich eingefügt. Daher kein Unterschied zwischen Staging- und Arbeitsdateien.
git diff --staged
zeigt Änderungen zwischen HEAD und Index / Staging. git diff --cached
macht das gleiche auch. staged
und cached
können synonym verwendet werden.
git diff HEAD
zeigt Änderungen zwischen HEAD und Arbeitsdateien
git diff $commit $commit
zeigt Änderungen zwischen zwei Commits
git diff origin
zeigt Diff zwischen HEAD & amp; Fernbedienung / Ursprung
git diff
diffs gegen den Index, nicht gegen Ihre HEAD
Revision. Wenn Sie git add
ausführen, haben Sie die Änderungen in Ihren Index übernommen, also gibt es natürlich keine Unterschiede! Verwenden Sie
git diff HEAD
, um die Unterschiede zwischen Ihrem Baumstatus und der HEAD
Revision oder git diff --cached
, um die Unterschiede zwischen Ihrem Index und der HEAD
Revision zu sehen. Weil git diff
standardmäßig die Unterschiede zwischen dem Staging-Bereich und Ihrer Arbeitskopie überprüft. Wenn Sie git add
angeben, entspricht Ihr Staging-Bereich Ihrer Arbeitskopie und daher meldet diff keine Änderungen.
Durch das Hinzufügen des --cached
-Flags wird diff an diff gegen HEAD
gemeldet.
Ran in genau das gleiche Problem.
Sie werden sehen, dass filename1.c committed wurde.