Jaki jest najlepszy sposób na uzyskanie logu commitów w oddziale od czasu rozgałęzienia z bieżącego oddziału? Moje rozwiązanie jakim jest:Jak uzyskać zmiany w oddziale w Git
git log $(git merge-base HEAD branch)..branch
Dokumentacja git-diff wskazuje git diff A...B
jest równoważna git diff $(git-merge-base A B) B
. Z drugiej strony dokumentacja dla git-rev-parse wskazuje, że r1...r2
jest zdefiniowany jako r1 r2 --not $(git merge-base --all r1 r2)
.
Dlaczego te są różne? Zauważ, że git diff HEAD...branch
daje mi potrzebne różnice, ale odpowiednie polecenie rejestru Git daje mi więcej niż to, co chcę.
Na zdjęciach, załóżmy to:
x---y---z---branch / ---a---b---c---d---e---HEAD
chciałbym uzyskać dziennik zawierający zobowiązuje X, Y, Z.
git diff HEAD...branch
daje te przesyła potwierdzenie- jednak
git log HEAD...branch
daje X, Y, Z, C, D, E.
Używasz "git log" niepoprawnie do swoich celów z tego, co widzę. Dodałem swoją odpowiedź poniżej. – PlagueHammer