Я думаю, что вам нужна очень полезная команда:
git branch -a --contains <SHA1sum-of-commit>
... которая сообщит вам каждую ветвь (как локальную, так и удаленную), содержащую этот коммит.
К сожалению, я не думаю, что есть опция git log
, которая просто выводит это для каждого коммита.Использование --all --source
близко, но будет отображать только одну ветвей для каждого коммита.Однако, если вы нажмете на коммит в gitk --all
, вы увидите, что в нем перечислены все ветви, в которых находится этот коммит.
Однако есть одна часть вашего вопроса, которая не очень хорошо определена -Вы спрашиваете:
Я хочу получить самую последнюю ветку, к которой относится коммит в журнале
Мне не совсем понятно, что вы подразумеваете под этим- «самая последняя ветвь» может быть (а) самой последней созданной ссылкой (б) самой последней измененной ссылкой (в) веткой с самой последней фиксацией и т. д. и т. д. и т. д. Вероятно, есть лучший способ определить, чтовы хотите с точки зрения графика фиксации.