551 Stimmen

Wie führe ich git log aus, um nur Änderungen für einen bestimmten Zweig zu sehen?

Ich habe einen lokalen Branch, der den remote/master Branch verfolgt. Nachdem git-pull und git-log ausgeführt wurden, zeigt das Protokoll alle Commits im Remote-Tracking-Branch sowie im aktuellen Branch an. Da jedoch so viele Änderungen am Remote-Branch vorgenommen wurden, muss ich nur die Commits sehen, die zum aktuellen lokalen Branch gemacht wurden.

Was wäre der Git-Befehl, um nur Commits für einen bestimmten Branch anzuzeigen?

Notizen:

Konfigurationsinformationen:

[branch "my-branch"]
  remote = origin
  merge = refs/heads/master

2 Stimmen

Eine Zeile in git bash zur Zählung der Anzahl von Commits: git log remotes/origin/feature --oneline | wc -l

704voto

Wayne Conrad Punkte 95828

Angenommen, dass Ihr Zweig von master erstellt wurde, dann während des Aufenthalts im Zweig (das heißt, Sie haben den Zweig ausgecheckt):

git cherry -v master

oder

git log master..

Wenn Sie sich nicht im Zweig befinden, können Sie den Branch-Namen zum "git log" Befehl hinzufügen, wie folgt:

git log master..branchname

Wenn Ihr Zweig von origin/master erstellt wurde, verwenden Sie anstelle von master origin/master.

175voto

yerlilbilgin Punkte 2612

Verwendung:

git log --graph --abbrev-commit --decorate  --first-parent 

Es gilt nur für den Zielbranch (natürlich sind --graph, --abbrev-commit --decorate mehr zum Polieren).

Die Schlüsseloption ist --first-parent: "Folge nur dem ersten Eltern-Commit beim Ansehen eines Merge-Commits" (https://git-scm.com/docs/git-log)

Es verhindert, dass die Commit-Gabelungen angezeigt werden.

38voto

Dyaniyal Wilson Punkte 913

Wenn Sie nur die Commits sehen möchten, die von Ihnen in einem bestimmten Branch durchgeführt wurden, verwenden Sie den folgenden Befehl.

git log branch_name --author='Dyaniyal'

14voto

GPHemsley Punkte 448

Das Problem, das ich hatte, das meiner Meinung nach ähnlich ist, ist, dass der Master zu weit vor meinem Zweigpunkt lag, um die Historie nützlich zu machen. (Zum Zweigpunkt zu navigieren würde zu lange dauern.)

Nach einigen Versuchen und Irrtümern gab mir dies ungefähr das, was ich wollte:

git log --graph --decorate --oneline --all ^master^!

12voto

Mahdi Pedram Punkte 631

Führen Sie einfach git log origin/$BRANCH_NAME aus

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X