encuentre el punto de partida "rebase -m"

Recientemente estoy usando

git checkout dev_branch -b merge_branch git rebase -m merge_branch master git checkout master git rebase merge_branch 

para hacer una rebase de fusión. Como indica el documento de ayuda, merge_branch se restablece primero a HEAD of master y luego las nuevas confirmaciones en dev_branch original se reproducen una por una en la nueva twig.

Varios días después quiero encontrar dónde está el "punto de partida" de esta fusión de rebase. Puedo encontrar la primera confirmación delta en dev_branch usando

 git merge-base master dev_branch // Get an SHA_root of the common ancestor git log --reverse -1 <SHA_root>..dev_branch // Get an SHA_delta of the first delta commit 

Pero no encuentro una manera de localizar dónde está la versión fusionada de

 git branch --contains <SHA_delta> 

Pero encuentra que está solo en "dev_branch", no en "master_branch", aunque en realidad se ha fusionado.

En otras palabras, el mismo compromiso con diferente padre (como la situación usando cherry-pick) es con SHA diferente. ¿Hay alguna manera de que Git pueda reconocerlos como realmente idénticos?

Esto es lo que hace git cherry .

En una situación donde el topic consistía en tres commits, y el mantenedor aplicaba dos de ellos, la situación podría verse así:

 $ git log --graph --oneline --decorate --boundary origin/master...topic * 7654321 (origin/master) upstream tip commit [... snip some other commits ...] * cccc111 cherry-pick of C * aaaa111 cherry-pick of A 

[… cortar mucho más de lo que ha pasado …]

 | * cccc000 (topic) commit C | * bbbb000 commit B | * aaaa000 commit A |/ * 1234567 branch point 

En tales casos, git cherry muestra un resumen conciso de lo que aún no se ha aplicado:

 $ git cherry origin/master topic - cccc000... commit C + bbbb000... commit B - aaaa000... commit A 

Aquí, vemos que las confirmaciones A y C (marcadas con - ) se pueden soltar de la twig de topic cuando se vuelve a basar sobre el origin/master , mientras que la confirmación B (marcada con + ) todavía debe mantenerse para que se enviará para ser aplicado al origin/master .