Подтвердить что ты не робот

Git как найти хеш фиксации, где ветвь возникла из

Притворись, что я отделился от моей главной ветки до ветки темы, а затем сделал несколько коммитов в моей ветке темы. Есть ли команда, которая сообщает мне хеш фиксации на главной ветке, из которой моя ветка темы возникла?

В идеале мне не нужно было бы знать, сколько коммитов я сделал (пытаясь избежать HEAD ^ 5).

Я googled и SO'd вокруг и не могу показаться, чтобы приземлиться на ответ. Спасибо!

4b9b3361

Ответ 1

используйте git merge-base master your-branch, чтобы найти лучшего общего предка между двумя ветвями (обычно точкой разветвления).

Ответ 2

Вы можете использовать git reflog show --no-abbrev <branch name>. Он выведет все изменения, внесенные в ветвь, включая ее создание, например (я создал ветвь ветки xxx из master):

bdbf21b087de5aa2e78a7d793e035d8bd9ec9629 [email protected]{0}: branch: Created from master

Обратите внимание, что это не очень надежно, поскольку записи reflog могут истечь (90 дней по умолчанию), и похоже, что нет 100% надежного способа сделать это.