TL; DR : Как найти только те коммиты слияния, которые сливаются в указанную c ветку?
У меня есть примерно такая история коммитов:
f → g → - - - - k → l → m [m] ← feature/2
/ / \
/ / \
/ / \
a → b → - - - - - - h → - - - - n → o [o] ← master
\ / \ /
\ / \ /
\ / \ / [e] ← feature/1
c → d → e i → j [j] ← feature/3
a
- начальный коммит в master
h
- объединить коммит с feature/1
в master
k
- слияние с master
до feature/2
n
- слияние с feature/3
до master
o
- слияние с feature/2
до master
В настоящее время все коммиты находятся в master
, и все ветви, кроме master
, пропали (push -d
).
Я пытаюсь найти только те слияния коммиты, направленные на master
; это h
, n
и o
. Коммит k
не включен, потому что он от master.
Я пробую эту команду:
git rev-list a..o --merges
… но он возвращает все четыре коммита слияния включая k
.
Как мне найти только коммиты "merge to master
"? В идеале, это не должно включать анализ сообщений коммита, так как они могут быть изменены до слияния (по крайней мере, в GitHub).