Как проверить, слился ли коммит с моей текущей веткой - где-то во времени?

У меня есть случайная ветка функции / XXXXXXX, в которой есть некоторые коммиты, и, естественно, ветка «разработка», где эти функции в конечном итоге объединяются.

Как мне проверить, была ли некоторая старая фиксация (например, фиксация ab123456 из функции ветки / регистрации пользователя) каким-либо образом перенесена / объединена в мою текущую активную ветку (например, разработку)? Либо путем прямого слияния ветки функций для разработки, либо путем перехода / слияния через какую-либо другую промежуточную ветвь.

Через команды git или через пользовательский интерфейс SourceTree оба способа мне одинаково подходят.


person Dzhuneyt    schedule 29.01.2016    source источник


Ответы (3)


Решение

Вы можете напрямую спросить git, какие (локальные) ветки содержат ваш коммит, например:

git branch --contains ab123456

используйте опцию «-r» для запроса удаленных веток, например:

git branch -r --contains ab123456

использованная литература

Как комментирует Эндрю С., это практически дубликат Как сделать перечислить ветки, которые содержат данную фиксацию? правильно и подробно ответил VonC.

Примечание

Теперь я вижу, что Солли также дает тот же ответ в этой беседе.

person Ytsen de Boer    schedule 30.01.2016
comment
Почему это возвращает страницу справки, если идентификатор фиксации не существует? - person CMCDragonkai; 23.10.2017
comment
Совет: git branch branch-name --contains ab123456 сообщит вам, есть ли он в ветке branch-name. - person jhfrontz; 11.03.2021

Используя следующую команду:

git branch --contains <commit-id>

Это выведет каждую ветку, содержащую фиксацию. Поэтому, если он есть в вашей текущей ветке, он должен появиться на выходе.

person Sulli    schedule 29.01.2016

С участием

git log --oneline devBranch..featureBranch

Вы видите все коммиты в featureBranch, а не в devBranch.

person Ekans    schedule 29.01.2016