#git #git-log
#git #git-log
Вопрос:
Ревизии A несколько дней, ревизии B несколько месяцев. Тем не менее, при использовании git log A..B
or git log A...B
я получаю ревизии, которым несколько лет. Для меня это не имеет смысла. Как мне выделить историю коммитов, которые являются как дочерними элементами A , так и родителями B ?
Комментарии:
1. Было бы
B..A
получить все, что доступно отA
(то есть от родителейA
), но недоступно отB
. (ИA...B
является симметричной разницей, что означаетA..B
ПЛЮСB..A
)
Ответ №1:
Вы можете использовать --ancestry-path
опцию git log
:
--ancestry-path
При задании диапазона коммитов для отображения (например,commit1..commit2
илиcommit2 ^commit1
), отображаются только те коммиты, которые существуют непосредственно в цепочке предков междуcommit1
иcommit2
, т. Е. коммиты, которые являются как потомкамиcommit1
, так и предкамиcommit2
.
В вашем случае вы бы сказали:
git log --ancestry-path A..B
Чтобы получить коммиты, которые являются дочерними элементами A
и родителями B
.