2 слияние веток в Git


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

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

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

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

или мне не хватает точки "слияния"?

1 82

1 ответ:

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