Was ist der beste Weg, um ein Protokoll der Commits für einen Zweig zu erhalten, seit dieser von dem aktuellen Zweig verzweigt wurde? Meine bisherige Lösung lautet:
git log $(git merge-base HEAD branch)..branch
Die Dokumentation für git-diff gibt an, dass dies git diff A...Bäquivalent zu ist git diff $(git-merge-base A B) B. Andererseits gibt die Dokumentation für git-rev-parse an, dass r1...r2definiert ist als r1 r2 --not $(git merge-base --all r1 r2).
Warum sind diese unterschiedlich? Beachten Sie, dass git diff HEAD...branchich die gewünschten Unterschiede habe, aber der entsprechende Befehl git log gibt mir mehr als das, was ich will.
Nehmen wir in Bildern Folgendes an:
x --- y --- z --- Zweig
/.
--- a --- b --- c --- d --- e --- KOPF
Ich möchte ein Protokoll mit den Commits x, y, z erhalten.
git diff HEAD...branchgibt diese Commits- Jedoch
git log HEAD...branchgibt x, y, z, c, d, e.