Git: мердж

Spread the love

Мердж – это процесс слияния веток проекта.

Используется команда

$ git merge

После команды перечисляются ветки проекта, которые необходимо объединить

Выглядит это примерно так:

git merge [-n] [–stat] [–no-commit] [–squash] [–[no-]edit]

100000R, 12%, 1 year

         [–no-verify] [-s <strategy>] [-X <strategy-option>] [-S[<keyid>]]

         [–[no-]allow-unrelated-histories]

         [–[no-]rerere-autoupdate] [-m <msg>] [-F <file>]

         [–into-name <branch>] [<commit>…​]

git merge (–continue | –abort | –quit)

Пусть имеется следующая история проекта и текущая ветвь проекта является master:

           A—B—C info

          /

    D—E—F—G master

Затем “git merge info” воспроизведет изменения, внесённые в ветку темы с момента ее отклонения от master (в точке E) до ее текущей фиксации (C) поверх master, и запишет результат в новую фиксацию вместе с именами двух родительских коммитов и сообщением из журнала пользователя, описывающим изменения. Перед операцией ORIG_HEAD устанавливается на вершину текущей ветви (C).

           A—B—C info

          /                \

    D—E—F—G—H master

Второй синтаксис (“git merge –abort”) следует запускать только после того, как слияние привело к конфликтам. В этом случае, если введена команда “git merge –abort” система прервет процесс слияния и попытается восстановить состояние до слияния. Однако если при запуске слияния были внесены незафиксированные изменения (и особенно если эти изменения были дополнительно изменены после запуска слияния), “git merge –abort” в некоторых случаях не сможет восстановить исходные (до слияния) изменения.

Предупреждение: Не рекомендуется запускать git merge с нетривиальными незафиксированными изменениями: хотя это возможно, это может привести вас в состояние, из которого трудно выйти в случае конфликта.

Третий синтаксис (“git merge –continue”) может быть запущен только после того, как конфликт, к которому привело слияние, разрешён.


Spread the love

Добавить комментарий