Ich habe einen lokalen Zweig, der den Remote- / Master-Zweig verfolgt. Nach dem Rennengit-pull
und git-log
werden im Protokoll alle Commits im Remote-Tracking-Zweig sowie im aktuellen Zweig angezeigt. Da jedoch so viele Änderungen an der Remote-Zweigstelle vorgenommen wurden, muss ich nur die Commits sehen, die an der aktuellen lokalen Zweigstelle vorgenommen wurden.
Mit welchem Git-Befehl werden nur Commits für einen bestimmten Zweig angezeigt?
Anmerkungen:
Konfigurationsinformationen:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
quelle
git log --no-merges master..
war genau das, was ich brauchte.--no-merges
scheint, dass nur Commits von einem bestimmten Zweig angezeigt werden, aber es werden wirklich nur Commitsgit log --no-merges --pretty='%C(yellow)%h%d %Creset%an %Cgreen%ar:%Creset %s' --graph master..
Verwenden:
Es ist nur für den Zielzweig (natürlich --graph, --abbrev-commit --decorate sind polierender).
Die Schlüsseloption lautet --first-parent: "Folgen Sie nur dem ersten übergeordneten Commit, wenn ein Merge-Commit angezeigt wird" ( https://git-scm.com/docs/git-log ).
Es verhindert, dass die Festschreibgabeln angezeigt werden.
quelle
--first-parent <branch_name>
ist die Option. funktioniert!--first-parent <branch_name>
hat auch für mich gearbeitet! Am Ende hatte ich einen Alias fürgit log --first-parent $current_branch_name --no-merges
. In Antwort auf @EdRandall werden die Commits in der Verzweigung + diejenigen angezeigt, von denen aus die Verzweigung erfolgt ist. Zum Beispiel:new_feature
vom Meister. Sie fügen Commits C und D hinzu. Dann fügen Sie E und F zum Master hinzu. Sie führen dann Master zu zusammennew_feature
. Mitgit log
on sehennew_feature
Sie "Merge Master", F, E, D, C, A, B. Mitgit log --first-parent new_feature --no-merges
wird D, C, A, BWenn Sie nur die Commits möchten, die Sie in einem bestimmten Zweig ausführen, verwenden Sie den folgenden Befehl.
quelle
Das Problem, das ich hatte und das meiner Meinung nach ähnlich ist, ist, dass der Meister meinem Verzweigungspunkt zu weit voraus war, als dass die Geschichte nützlich wäre. (Das Navigieren zum Verzweigungspunkt würde zu lange dauern.)
Nach einigem Ausprobieren gab mir dies ungefähr das, was ich wollte:
quelle
Renn einfach
git log origin/$BRANCH_NAME
quelle