Wenn ich einen Fehler in meiner Anwendung gefunden habe, muss ich manchmal wissen, welche Commits sich auf die Quellcodezeile des Fehlers ausgewirkt haben. Ich frage mich, was der beste Ansatz ist, um es mit Git zu tun.
Git: Wer hat diese Zeile geändert?
So sehen Sie Commits, die Zeile 40 der Datei foo betreffen:
git blame -L 40,+1 foo
Das +1 bedeutet genau eine Zeile. Um Änderungen für die Zeilen 40-60 zu sehen, ist es:
git blame -L 40,+21 foo
ODER
git blame -L 40,60 foo
Die zweite Zahl kann ein mit ‘+’ gekennzeichneter Offset oder eine Zeilennummer sein. git schuld docs
-
Wie kann ich den gesamten Linienverlauf abrufen, nicht nur den letzten?
– Pedro
14. April 2021 um 22:26 Uhr
-
@Pedro willst du wahrscheinlich
git log -L
. Weitere Informationen finden Sie in dieser Antwort: stackoverflow.com/a/19757493/2356383– ahaurat
14. April 2021 um 23:25 Uhr
vcsjones
Ich würde die verwenden git blame
Befehl. Ziemlich genau dafür ist es da. Die Dokumentation sollte Ihnen den Einstieg erleichtern.
-
bekomme ich dadurch den gesamten Zeilenverlauf oder nur den letzten? Was ist, wenn die Zeile mehr als einmal geändert wurde und ich die Änderungen jedes Mal überprüfen möchte, wenn die Zeile geändert wurde?
– Yash Kalwani
20. September 2019 um 7:17 Uhr
Wenn Sie nur die letzte Änderung benötigen:
git blame
Andernfalls könnten Sie versuchen, die problematische Änderung mit automatisch zu finden
git bisect
-
+1 für Halbierung. Gut, um herauszufinden, welcher Commit etwas kaputt gemacht hat, ohne genau zu wissen, was falsch ist.
– vcsjones
26. Mai 2011 um 19:24 Uhr
Seth Robertson
git blame filename
ist der beste Befehl, um Ihnen diese Informationen anzuzeigen
Sie können verwenden
git annotate filename (or)
git blame filename