Ich bin in einem Zweig mit einigen Änderungen. Das Ändern des Zweigs ist schmerzhaft, da einige Dateien von Prozessen gesperrt werden. Um den Zweig zu ändern, müsste ich alle Prozesse stoppen, die Sperren haben, und dann stash
die Änderungen, bevor ich den anderen Zweig auschecke, um dessen Protokoll anzuzeigen.
Ist es möglich, das Protokoll für einen anderen Zweig anzuzeigen, ohne es auschecken zu müssen?
git log <branch>
, wo<branch>
steht für den Namen der Branche von Interesse?cherry
undrev-list
.Antworten:
TL; DR
Verwenden
Wo
<branch>
ist der Name des interessierenden Zweigs?Von der
git-log
Manpage ...Eine vereinfachte Version der
git-log
in der gegebenen Übersicht dieser Befehl des Mannes Seite istWeiter unten finden Sie folgende Passage:
Mit anderen Worten,
git log
ist äquivalent zugit log HEAD
. Wenn Sie sich in einem Zweig befinden, der beispielsweise aufgerufenmybranch
wird, entspricht dieser Befehl auchgit log mybranch
.Sie möchten das Protokoll auf Commits beschränken, die von einem anderen Zweig aus erreichbar sind, dh von einem Zweig, in dem Sie sich derzeit nicht befinden. Der einfachste Weg, dies zu tun, besteht darin, den Namen des interessierenden Zweigs explizit an Folgendes zu übergeben
git log
:Weitere Informationen zu den vielen Formen, die das Argument annehmen kann, finden Sie auf der gitrevisions-Manpage
<revision-range>
.quelle
master
) ausführen, unabhängig davon, ob er ausgecheckt ist oder nicht, und auf einem Remote-Zweig (zorigin/master
. B. ).git log mybranch
und es hat einen Fehler ausgelöst, aber dann, wenn ich es ausführe, hatgit checkout mybranch; git checkout master; git log mybranch
es auch ohne "origin /" funktioniert. Deshalb dachte ich, dass ich zuerst meine Filiale auschecken muss. Aber ich musste einfach "git log origin / mybranch" verwenden, um nach einem Verlauf des Remote-Zweigs zu suchen. Vielen Dank.