Допустим, у меня есть две ветви, как это:

o---o---o---o---o master
\
 o---o---o feature

Если я запускаю следующие команды:

$ git checkout master
$ git merge feature

что случится?

o---o---o---o---o master                     o---o---o---o---o master
\              /                or this       \               \   
 o---o---o---- feature                         o---o---o-------o feature  

3 ответа3

2

Первый, согласно инструкции git-merge:

Описание

Включает изменения из именованных коммитов (с тех пор, как их истории расходятся с текущей веткой) в текущую ветку.

[...]

Предположим ... текущая ветвь " master " ... Затем « git merge topic » воспроизведет изменения, внесенные в ветку темы, так как он отклонился от master до его текущей фиксации поверх master , и запишет результат в новой фиксации вместе с именами двух родительских коммитов и сообщением журнала. от пользователя, описывающего изменения.

Или, сохранив прекрасное форматирование http://git-scm.com:

git merge info

2

git merge branch_name объединяет branch_name в вашу текущую ветку. В вашем случае результат будет

o---o---o---o---o master
\              /
 o---o---o---- feature

И коммит слияния будет добавлен к master .

1

Ветвь feature будет объединена с master . Вы можете проверить это быстро во временном git-репо.

> git init
> echo test > testfile
> cat testfile
test
> git add testfile
> git commit -m "First commit"
> git checkout -b feature
> echo test2 >> testfile
> cat testfile
test
test2
> git commit -am "Second commit"
> git checkout master
> cat testfile
test
> git merge feature
> cat testfile
test
test2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .