756 Stimmen

Änderungen an einer bestimmten Datei mit git anzeigen

Ich weiß, dass ich die git diff um die Änderungen zu überprüfen, aber soweit ich verstanden habe, ist es verzeichnisbasiert. Das bedeutet, dass er alle Änderungen an allen Dateien im aktuellen Verzeichnis anzeigt.

Wie kann ich nur die Änderungen in einer bestimmten Datei überprüfen? Sagen Sie, ich habe Dateien geändert file_1.rb , file_2.rb , ..., file_N.rb Ich interessiere mich aber nur für die Änderungen in der Datei file_2.rb . Wie kann ich diese Änderungen dann überprüfen (bevor ich sie festlege)?

967voto

Greg Hewgill Punkte 882617

Verwenden Sie einen Befehl wie:

git diff file_2.rb

Siehe die git diff Dokumentation finden Sie ausführliche Informationen über die Arten von Unterschieden, die Sie geltend machen können.

Normalerweise, git diff selbst zeigt alle Änderungen in der gesamten Repository (nicht nur das aktuelle Verzeichnis).

264voto

AJ Zane Punkte 3341

Eine andere Methode (erwähnt in diese SO-Antwort ) speichert den Verlauf im Terminal und gibt Ihnen eine sehr detaillierte Aufzeichnung der Datei selbst:

git log --follow -p -- file

Dies zeigt die gesamte Historie der Datei (einschließlich der Historie über Umbenennungen hinaus und mit Diffs für jede Änderung).

Mit anderen Worten: Wenn die Datei mit dem Namen bar früher foo hieß, zeigt git log -p bar (ohne die Option --follow) nur den Verlauf der Datei bis zu dem Punkt an, an dem sie umbenannt wurde - es zeigt nicht den Verlauf der Datei, als sie noch foo hieß. Mit git log --follow -p bar wird der gesamte Verlauf der Datei angezeigt, einschließlich aller Änderungen an der Datei, als sie noch foo hieß.

113voto

da Rocha Pires Punkte 2335

Sie können verwenden gitk [filename] um das Änderungsprotokoll zu sehen

44voto

Vineet Punkte 393

Sie können den folgenden Befehl verwenden, um zu sehen, wer was in einer Datei geändert hat.

git blame <filename>

36voto

Um nur Commits-Details für bestimmte Dateiänderungen aufzulisten,

git log --follow file_1.rb

um die Unterschiede zwischen verschiedenen Übertragungen für dieselbe Datei aufzulisten,

git log -p file_1.rb

um nur die Übergabe und ihre Nachricht aufzulisten,

git log --follow --oneline file_1.rb

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