Git
de schuld te geven
Zoeken…
Syntaxis
- git blame [bestandsnaam]
- git blame [-f] [- e] [- w] [bestandsnaam]
- git blame [-L range] [bestandsnaam]
parameters
Parameter | Details |
---|---|
bestandsnaam | Naam van het bestand waarvoor details moeten worden gecontroleerd |
-f | Toon de bestandsnaam in de origin commit |
-e | Toon de auteurse-mail in plaats van de auteursnaam |
-w | Negeer witte spaties terwijl u een vergelijking maakt tussen de versie van het kind en die van de ouder |
- Ik begin, einde | Toon alleen het gegeven lijnbereik Voorbeeld: git blame -L 1,2 [filename] |
--show-stats | Toont aanvullende statistieken aan het einde van de schulduitvoer |
l | Lange rev weergeven (standaard: uit) |
-t | Toon onbewerkte tijdstempel (standaard: uit) |
-omgekeerde | Loop de geschiedenis vooruit in plaats van achteruit |
-p, - porselein | Uitgang voor machineverbruik |
-M | Detecteerde verplaatste of gekopieerde lijnen binnen een bestand |
-C | Detecteer naast -M lijnen die zijn verplaatst of gekopieerd uit andere bestanden die zijn gewijzigd in dezelfde commit |
-h | Toon het helpbericht |
-C | Gebruik dezelfde uitvoermodus als git-annotate (standaard: uit) |
-n | Toon het regelnummer in de oorspronkelijke commit (standaard: uit) |
Opmerkingen
Het git blame commando is erg handig als het gaat om te weten wie een bestand per regel heeft gewijzigd.
Toon de commit die het laatst een regel heeft gewijzigd
git blame <file>
zal het bestand tonen met elke regel geannoteerd met de commit die het laatst heeft gewijzigd.
Negeer alleen-wittewijzigingen
Soms hebben repo's commits die alleen witruimte aanpassen, bijvoorbeeld inspringen repareren of schakelen tussen tabs en spaties. Dit maakt het moeilijk om de commit te vinden waar de code eigenlijk is geschreven.
git blame -w
negeert alleen witruimte-wijzigingen om te vinden waar de regel echt vandaan kwam.
Toon alleen bepaalde lijnen
De uitvoer kan worden beperkt door lijnbereiken op te geven als
git blame -L <start>,<end>
Waar <start>
en <end>
kunnen zijn:
regelnummer
git blame -L 10,30
/ Regex /
git blame -L /void main/
,git blame -L 46,/void foo/
+ offset, -offset (alleen voor
<end>
)git blame -L 108,+30
,git blame -L 215,-15
Er kunnen meerdere lijnbereiken worden opgegeven en overlappende bereiken zijn toegestaan.
git blame -L 10,30 -L 12,80 -L 120,+10 -L ^/void main/,+40
Om erachter te komen wie een bestand heeft gewijzigd
// 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