У меня есть Git-репозиторий со многими ветками, некоторые из которых уже объединены, а некоторые нет. Поскольку число ветвей довольно велико, как я могу определить, какие ветви еще не были объединены? Я бы хотел избежать слияния и повторного слияния осьминога, которые уже были объединены.
git
git-merge
branching-and-merging
fluca1978
источник
источник
Ответы:
Попробуй это:
Он делает то, что говорит на банке (перечисляет ветви, которые были объединены
master
). Вы также можете подтянуть обратное с помощью:Если вы не укажете
master
, например ..тогда он покажет вам ветви, которые были объединены с текущей
HEAD
(поэтому, если вы включеныmaster
, это эквивалентно первой команде; если вы включеныfoo
, это эквивалентноgit branch --merged foo
).Вы также можете сравнить восходящие ветви, указав
-r
флаг и ссылку для проверки, которая может быть локальной или удаленной:источник
foo
вmaster
, он появится вgit branch --merged master
списке. Но что произойдет, если вы совершите еще разfoo
? Он больше не появляется в этом списке, или он, хотя и имеет новые коммиты, в какой-то момент был объединенmaster
?--merged
перечисляет только те ветви, которые полностью объединены с данной веткой.gitk --remotes --not origin/master
покажет вам коммиты на каждой ветви, которые не были объединены с мастером.Вы также можете использовать
-r
параметр, чтобы показать удаленные ветви, которые не были объединены в master:источник
-a
чтобы увидеть и удаленный и локальный одновременноЕсли ветвь уже объединена, повторное объединение ничего не изменит. Так что вам не нужно беспокоиться о «повторном слиянии» уже слитых веток.
Чтобы ответить на ваш вопрос, вы можете просто оформить
чтобы увидеть слитые ветви или
увидеть неразорвавшиеся ветви. Ваша текущая ветвь подразумевается, но вы можете указать другие ветви, если хотите.
покажет вам ветви, которые еще не объединены в
integration
ветку.источник
Приведенный ниже скрипт найдет все
origin/*
ветви, которые находятся перед текущей веткой.Актуальная версия скрипта
источник
источник