Подтвердить что ты не робот

Как объединить несколько ветвей в мастер?

        C---D  =>b1
      /    
     /  E---F  =>b2
     | /   
  A--B =======> master
     | \
     \  G---H  =>b3
      \ 
       I---J   =>b4

Я хочу объединить b1, b2, b3, b4 в master, возможно ли сразу объединить?

что-то вроде:

git checkout master
git merge b1 b2 b3 b4
4b9b3361

Ответ 1

Git merge команда поддерживает несколько стратегий объединения. Существует две стратегии, которые могут объединять более двух ветвей за раз.

См. также question для менее формального описания каждого из них.

осьминог

Это разрешает случаи с более чем двумя но отказывается выполнять сложное слияние, требующее ручного разрешения. Это в первую очередь предназначено для использования для объединения заголовков разделов вместе. Это стратегия слияния по умолчанию при вытягивании или слиянии более одной ветки.

Последнее утверждение подразумевает, что если вы выполните git merge branch1 branch2 ..., он будет использовать стратегию осьминога.

наш

Это разрешает любое количество голов, но результирующее дерево слияния всегда относится к текущей ветки ветки, эффективно игнорируя все изменения происходят из всех других ветвей. Он предназначен для использования заменяют старую историю развития боковых ветвей.

Смотрите пример question для примера использования.

Ответ 2

Git имеет стратегию слияния, называемую octupus, которая может объединять несколько ветвей, если не существует сложных конфликтов. Команда сделать это точно так же, как вы предложили git merge b1 b2.