Git
Schuldzuweisungen
Suche…
Syntax
- git blame [Dateiname]
- git blame [-f] [- e] [- w] [Dateiname]
- git blame [-L Bereich] [Dateiname]
Parameter
Parameter | Einzelheiten |
---|---|
Dateiname | Name der Datei, für die Details geprüft werden müssen |
-f | Zeigen Sie den Dateinamen im Ursprungs-Commit an |
-e | Zeigt die Autor-E-Mail-Adresse anstelle des Autorennamens an |
-w | Ignorieren Sie Leerzeichen, während Sie einen Vergleich zwischen der Version des Kindes und des Elternteils durchführen |
-L Start, Ende | Nur den angegebenen Zeilenbereich anzeigen Beispiel: git blame -L 1,2 [filename] |
- show-stats | Zeigt zusätzliche Statistiken am Ende der Schuldverschreibung an |
-l | Lange Drehzahl anzeigen (Standard: aus) |
-t | Rohzeitstempel anzeigen (Standard: aus) |
-umkehren | Gehe die Geschichte vorwärts statt rückwärts |
-p, --porzellan | Ausgabe für den Maschinenverbrauch |
-M | Verschobene oder kopierte Zeilen in einer Datei erkennen |
-C | Ermitteln Sie neben -M auch Zeilen, die aus anderen Dateien verschoben oder kopiert wurden, die im selben Commit geändert wurden |
-h | Zeigen Sie die Hilfemeldung an |
-c | Verwenden Sie den gleichen Ausgabemodus wie git-annotate (Standard: aus) |
-n | Zeigt die Zeilennummer im ursprünglichen Commit an (Standard: aus) |
Bemerkungen
Der Befehl git blame ist sehr nützlich, wenn Sie wissen möchten, wer auf Zeilenbasis Änderungen an einer Datei vorgenommen hat.
Zeigt das Commit an, das zuletzt eine Zeile geändert hat
git blame <file>
zeigt die Datei mit jeder Zeile, die mit dem Commit versehen wurde, der sie zuletzt geändert hat
Ignoriere nur Whitespace-Änderungen
Repos enthalten manchmal Commits, die nur den Leerraum anpassen, z. B. die Einrückung korrigieren oder zwischen Tabs und Leerzeichen wechseln. Dies macht es schwierig, das Commit zu finden, an dem der Code tatsächlich geschrieben wurde.
git blame -w
ignoriert nur Whitespace-Änderungen, um herauszufinden, woher die Linie wirklich kam.
Nur bestimmte Zeilen anzeigen
Die Ausgabe kann durch Angabe von Zeilenbereichen als eingeschränkt werden
git blame -L <start>,<end>
Wo können <start>
und <end>
sein:
Zeilennummer
git blame -L 10,30
/ Regex /
git blame -L /void main/
,git blame -L 46,/void foo/
+ offset, -offset (nur für
<end>
)git blame -L 108,+30
,git blame -L 215,-15
Es können mehrere Linienbereiche angegeben werden und überlappende Bereiche sind zulässig.
git blame -L 10,30 -L 12,80 -L 120,+10 -L ^/void main/,+40
Um herauszufinden, wer eine Datei geändert hat
// Shows the author and commit per line of specified file
git blame test.c
// Shows the author email and commit per line of specified
git blame -e test.c file
// Limits the selection of lines by specified range
git blame -L 1,10 test.c