Quelle est la meilleure façon d'obtenir un journal de commits sur une branche depuis le temps que c'est ramifiée à partir de la branche courante? Ma solution pour l'instant est:
git log $(git merge-base HEAD branch)..branch
La documentation de git-diff indique qu' git diff A...B
est équivalent à git diff $(git-merge-base A B) B
. D'autre part, la documentation de git-rev-parse indique qu' r1...r2
est défini comme r1 r2 --not $(git merge-base --all r1 r2)
.
Pourquoi sont-ils différents? Notez que git diff HEAD...branch
donne-moi la diff je veux, mais le correspondant de la commande git log me donne plus que ce que je veux.
En images, supposons ceci:
x---y---z---direction de la / ---a---b---c---d---e---TÊTE
Je voudrais obtenir un journal contenant engage x, y, z.
-
git diff HEAD...branch
donne à ces s'engage - toutefois,
git log HEAD...branch
donne x, y, z, c, d, e.