Слияние 2 веток вместе в GIT - PullRequest
       11

Слияние 2 веток вместе в GIT

94 голосов
/ 04 августа 2010

Я только начал использовать GIT и думаю, что это замечательно, однако я немного запутался в том, что делает команда merge.

Допустим, у нас есть рабочий проект в ветке"A".

Я иду домой, внослю изменения в эту ветку и сохраняю ее как "B".Другой программист вносит изменения в «A» и сохраняет его как «C».

Есть ли способ объединить две ветви «B» и «C» вместе, а затем зафиксировать изменения как новую, скажем,"D"?

Или пропущена точка слияния?

Ответы [ 2 ]

161 голосов
/ 04 августа 2010

merge используется для объединения двух (или более) ветвей.

маленький пример:

# on branch A:
# create new branch B
$ git checkout -b B
# hack hack
$ git commit -am "commit on branch B"

# create new branch C from A
$ git checkout -b C A
# hack hack
$ git commit -am "commit on branch C"

# go back to branch A
$ git checkout A
# hack hack
$ git commit -am "commit on branch A"

так что теперь есть три отдельные ветви (а именно A B и C) с разными головками

чтобы вернуть изменения из B и C обратно в A, оформить заказ A (уже сделано в этом примере), а затем использовать команду объединения:

# create an octopus merge
$ git merge B C

Ваша история будет выглядеть примерно так:

…-o-o-x-------A
      |\     /|
      | B---/ |
       \     /
        C---/

Если вы хотите объединить границы репозитория / компьютера, взгляните на команду git pull, например, с компьютера с ответвлением A (этот пример создаст два новых коммита):

# pull branch B
$ git pull ssh://host/… B
# pull branch C
$ git pull ssh://host/… C
9 голосов
/ 13 января 2019

, если вам нужно объединить изменения в SubBranch в MainBranch

  1. , вы должны быть на MainBranch # git checkout MainBranch

  2. , затем выполните команду объединения #git merge SubBranch

...