Listen Sie alle Commits (über alle Zweige hinweg) für eine bestimmte Datei auf

93

Diese Frage steht in engem Zusammenhang mit Alle Commits für eine bestimmte Datei auflisten, ist jedoch anders. Ich möchte herausfinden, welche Commits in allen Zweigen eine bestimmte Datei geändert haben.

Um es komplexer zu machen, kann sich die angegebene Datei im Arbeitsbaum befinden oder nicht.

Saurabh Nanda
quelle

Antworten:

54

Sie können gitk verwenden

gitk --all <path to file> (you need to install gitk)

z.B

gitk --all -- /home/kit.ho/project/abc.txt

Kit Ho
quelle
1
Ich weiß nicht, warum meine Antwort abgelehnt wurde, aber Ihre ist nicht der Ansicht, dass die Frage speziell nach einem Protokoll in allen Zweigen fragt. Sie geben nur eine Antwort, mit der das OP bereits verknüpft ist.
Manojlds
2
Ich war kein Downvoter, aber das braucht ein --alloder ähnliches, um mehr Geschichte als die aktuelle Branche zu erzählen .
wjl
Warum die Abstimmungen? Das funktioniert einwandfrei. Beide Antworten sind richtig. Eine funktioniert für die Textkonsole, die andere für die Gitk-GUI. Kann ich beide richtig markieren?
Saurabh Nanda
@ Saurabh Nanda: Markiere den, den du für nützlich hältst.
Kit Ho
@saurabh - Diese Antwort wurde bearbeitet. Kit Ho - Erwähnen Sie, dass Sie bearbeiten. Und es sieht so aus, als ob beide Antworten ursprünglich richtig waren.
Manojlds
115

Versuche dies:

git log --all -- path
Manojlds
quelle
8
Nb. --full-historyJe nachdem, was Sie genau sehen möchten, benötigen Sie möglicherweise eine Option: Siehe Abschnitt zur Verlaufsvereinfachung in den Manpages "git-log" oder "gitrevisions".
Jakub Narębski
Auf jeden Fall die richtige Antwort, vorausgesetzt, Sie möchten keine GUI verwenden.
Matt Setter
46

Befehlszeile

Ich würde wärmstens empfehlen, die Grafikoption mit Git-Protokoll hinzuzufügen:

git log --graph --all -- <filename>

git log --graph --all - <Dateiname>

Gui

Gitk ist ein ziemlich altes Tool und nicht immer installiert. Ich empfehle ein anderes kostenloses Tool wie z. B. SourceTree:

SourceTree

Trommel
quelle
7
Wie protokolliere ich eine Datei und zeige ihr Verzweigungsdiagramm in SourceTree? Klicken Sie mit der rechten Maustaste auf eine Datei und wählen Sie "Protokoll ausgewählt ...". Der Verlauf wird nicht in allen Zweigen angezeigt.
Aleung