433 Stimmen

Wie kann ich sehen, was sich in einer Datei geändert hat, bevor ich sie an Git übertrage?

Ich habe festgestellt, dass ich, wenn ich an einem oder zwei Tickets arbeite, nicht mehr weiß, woran ich gearbeitet habe, was sich geändert hat usw.

Gibt es eine Möglichkeit, die Änderungen zu sehen, die an einer bestimmten Datei vor git add und dann git commit vorgenommen wurden?

644voto

Cascabel Punkte 449595

Sie suchen nach

git diff --staged

Je nach Ihrer genauen Situation gibt es drei nützliche Möglichkeiten git diff :

  1. Zeigt die Unterschiede zwischen dem Index und dem Arbeitsbaum an, d.h. die Änderungen, die Sie noch nicht in den Commit-Modus überführt haben:

    git diff [filename]

  2. Unterschiede zwischen der aktuellen Übertragung und dem Index anzeigen, d.h. das, was Sie gerade übertragen wollen ( --staged macht genau das Gleiche, verwenden Sie, was Sie wollen):

    git diff --cached [filename]

  3. Unterschiede zwischen dem aktuellen Commit und dem Arbeitsbaum anzeigen:

    git diff HEAD [filename]

git diff arbeitet rekursiv auf Verzeichnisse, und wenn keine Pfade angegeben sind, zeigt es alle Änderungen an.

54voto

Felix Kling Punkte 751464

Utilice git-diff :

git diff -- yourfile

12voto

Reed Hedges Punkte 1583

Para mí git add -p ist die nützlichste Methode (und ich glaube, von den Git-Entwicklern beabsichtigt?), um alle noch nicht übertragenen Änderungen zu überprüfen (es zeigt den Diff für jede Datei an), einen guten Satz von Änderungen auszuwählen, die mit einem Commit übertragen werden sollten, und dann, wenn Sie alle diese Änderungen übertragen haben, mit git commit und wiederholen Sie den Vorgang für die nächste Übertragung. Dann können Sie jeden Commit zu einem sinnvollen Satz von Änderungen machen, auch wenn sie in verschiedenen Dateien stattgefunden haben. Ich würde auch vorschlagen, einen neuen Zweig für jedes Ticket oder eine ähnliche Aktivität zu erstellen, und zwischen ihnen zu wechseln mit checkout (vielleicht mit git stash wenn Sie sich nicht festlegen wollen, bevor Sie wechseln), aber wenn Sie viele schnelle Änderungen vornehmen, kann dies ein Problem sein. Vergessen Sie nicht, oft zusammenzuführen.

9voto

elmt Punkte 1584

git diff filename

5voto

miku Punkte 170688

git diff

Änderungen zwischen dem Arbeitsbaum und dem Index oder einem Baum, Änderungen zwischen dem Index und einem Baum, Änderungen zwischen zwei Bäumen oder Änderungen zwischen zwei Dateien auf der Festplatte anzeigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X