Ваш пример показывает, что ветвь feature
все еще доступна.
В этом случае h
является последним результатом:
git log master ^feature --ancestry-path
Если ветвь feature
больше не доступен, вы можете отобразить коммиты слияния в строке истории между c
и master
:
git log <SHA-1_for_c>..master --ancestry-path --merges
Однако это также покажет все слияния, которые произошли после h
,и между e
и g
на feature
.
Сравнение результата следующих команд:
git rev-list <SHA-1_for_c>..master --ancestry-path
git rev-list <SHA-1_for_c>..master --first-parent
даст вам SHA-1 h
как последний ряд общего.
Если он у вас есть, вы можете использовать comm -1 -2
для этих результатов.Если вы используете msysgit, вы можете использовать следующий код perl для сравнения:
perl -ne 'print if ($seen{$_} .= @ARGV) =~ /10$/' file1 file2
(код perl из http://www.cyberciti.biz/faq/command-to-display-lines-common-in-files/, который был взят у кого-то из группы новостей comp.unix.shell").
См. подстановка процесса , если вы хотите сделать его однострочным.