Ich habe viele Fragen zu Verwendungsmethoden gesehen git blame
, aber ich verstehe sie nicht wirklich.
Ich sehe eine BlameSchaltfläche über den Dateien auf der GitHub-Oberfläche. Wenn Sie darauf klicken, werden in der linken Leiste einige Unterschiede mit Benutzernamen angezeigt. Was bedeutet das?
Warum wird git blame
eigentlich abgesehen von GitHub verwendet?
git praise
stattdessen verwenden :) github.com/ansman/git-praisegit objectively-determine-contributer
hat einfach nicht den gleichen Klang.git who
Antworten:
Von git-Schuld :
Beispiel:
Bitte beachten Sie, dass
git blame
der Änderungsverlauf pro Zeile nicht im chronologischen Sinne angezeigt wird. Es wird nur angezeigt, wer die letzte Person war, die eine Zeile in einem Dokument bis zum letzten Festschreiben geändert hatHEAD
.Das heißt, um den vollständigen Verlauf / das vollständige Protokoll einer Dokumentzeile anzuzeigen, müssten Sie
git blame path/to/file
für jedes Commit in Ihrem Dokument ein ausführengit log
.quelle
Der Befehl erklärt sich recht gut. Es geht darum herauszufinden, welcher Mitarbeiter die bestimmte Zeile geschrieben oder das Projekt ruiniert hat, damit Sie ihnen die Schuld geben können :)
quelle
git blame
hört sich so an, als hätte es einen anhaltenden Effekt, ähnlich wiegit commit
, wo es Sie nur darüber informiert, welche Änderungen von wem vorgenommen wurden. Das und die negative Konnotation, die das Wort "Schuld" trägt, lassen den Befehl wie etwas klingen, von dem Sie sich fernhalten sollten, und führen zu Fragen wie dieser, die um Klärung bitten.git praise
.Von GitHub :
Grundsätzlich
git-blame
wird verwendet, um zu zeigen, welche Revision und welcher Autor die letzten Zeilen einer Datei zuletzt geändert haben. Es ist, als würde man den Verlauf der Entwicklung einer Datei überprüfen.quelle
Der
git blame
Befehl wird verwendet, um zu wissen, wer / welches Commit für die letzten Änderungen an einer Datei verantwortlich ist. Der Autor / Commit jeder Zeile kann ebenfalls angezeigt werden.git blame filename
(verpflichtet sich für Änderungen für alle Zeilen im Code)git blame filename -L 0,10
(verpflichtet sich für Änderungen von Zeile "0" zu Zeile "10")Es gibt viele andere Möglichkeiten für Schuldzuweisungen, aber im Allgemeinen könnten diese helfen.
quelle
Der
git blame
Befehl kommentiert Zeilen mit Informationen aus der Revision, die die Zeile zuletzt geändert hat, und ... mit Git 2.22 (Q2 2019) wird dies aufgrund einer Leistungskorrektur um " ", insbesondere in einem linearen Verlauf (der die ist ), schneller ausgeführtgit blame
Norm, für die wir optimieren sollten).Siehe Commit f892014 (02. April 2019) von David Kastrup (
fedelibre
) . (Zusammengeführt von Junio C Hamano -gitster
- in Commit 4d8c4da , 25. April 2019)quelle
Der
git blame
Befehl wird verwendet, um den Inhalt einer Datei zeilenweise zu untersuchen und festzustellen, wann jede Zeile zuletzt geändert wurde und wer der Autor der Änderungen war.Wenn Sie den Verlauf eines Zeilencodes kennen müssen, verwenden Sie
git log -S"code here"
, einfacher als Git-Schuld.Git Log vs Git Schuld
quelle