Nehmen wir für einen Moment habe ich eine Datei in einem Repository namens LICENSE.txt vergleichen. Der Inhalt sieht wie folgt aus:Wie die Arbeitskopie, Staging Kopie und engagierte Kopie einer Datei mit Git
Copyright 2014 MyCompany. All Rights Reserved.
Seit seiner 2015 ich das Jahr geändert, um seine 2015:
Copyright 2015 MyCompany. All Rights Reserved.
Und dann die Datei inszeniert ein bisschen abgelenkt
git add LICENSE.txt
zu sein, ich gemacht eine weitere Änderung an LICENSE.txt, um zu reflektieren, dass eine andere Organisation an dem Urheberrecht beteiligt ist.
Copyright 2015 MyCompany and Affiliates. All Rights Reserved.
Copyright 2015 Other Company. All Rights Reserved.
Ich bin in der Lage, den Unterschied zwischen meiner Arbeitskopie zu sehen und inszenierte Kopie von
git diff
laufen Und ich bin in der Lage, den Unterschied zwischen der inszenierten Kopie und engagierter Kopie zu sehen von
laufengit diff --cached
Wie kann ich die engagierte Kopie (das eine ohne das Jahr ändern) mit Arbeitskopie (die mit dem zusätzlichen Copyright) vergleichen?
Dies ist lediglich ein Beispiel. Es gibt viel komplexere Fälle, in denen ich das, was ich inszeniert habe, mit den Änderungen vergleichen musste, die ich später an der Datei vorgenommen habe. Beim Vergleich des Inhalts der Arbeitskopie und der gestuften Kopie wird bestimmt, ob ich die gestufte Kopie ersetzen soll oder nicht.
Ich bin mit git 1.9.5 unter Windows Server 2012 R2.
'git diff 'tut nicht, was Sie behaupten, siehe die akzeptierte Antwort. Können Sie Ihren Beitrag so bearbeiten, dass zukünftige Leser nicht falsch geführt werden? –
Ich habe die Änderung vorgenommen.Die Verwirrung rührt von der Tatsache her, dass "git diff" den Unterschied zwischen der Arbeitskopie und der festgeschriebenen Kopie zeigt, wenn Sie keine Änderungen vorgenommen haben, aber Ihre Arbeitskopie geändert haben. – bloudraak
Wenn Sie keine Änderungen vorgenommen haben, verhält sich 'git diff' genauso wie bei der Durchführung von Änderungen. Aber beide Diffs sind gleich. –