3.1 KiB
title | localeTitle |
---|---|
Git Merge | Git Merge |
Git Merge
Команда git merge
объединяет любые изменения, внесенные в базу кода из любой отдельной ветки, в вашу текущую ветку.
Синтаксис команды следующий:
git merge BRANCH-NAME
Например, если вы сейчас работаете в ветке с именем dev
и хотели бы объединить любые новые изменения, которые были сделаны в ветке с именем new-features
, вам нужно выполнить следующую команду:
git merge new-features
Обратите внимание: если в вашей текущей ветке есть какие-либо незафиксированные изменения, Git не позволит вам сделать слияния, пока не будут зафиксированы все изменения в вашей текущей ветке. Чтобы решить эту задачу, вы можете:
- Создать новую ветку и зафиксировать изменения
git checkout -b new-branch-name
git add .
git commit -m "<your commit message>"
- Скрыть изменения
git stash # add them to the stash
git merge new-features # do your merge
git stash pop # get the changes back into your working tree
- Отменить все изменения
git reset --hard # removes all pending changes
Конфликты во время слияния
Конфликты во время слияния - это когда вы совершаете фиксации на отдельных ветвях, которые изменяют одну и ту же строку конфликтующими способами. Поэтому Git не будет знать, какую версию файла сохранить
в результате появляется сообщение об ошибке:
CONFLICT (content): Конфликт в файле resumé.txt Ошибка автоматического слияния; исправьте конфликты и затем зафиксируйте результат.
В редакторе кода Git использует маркировки для указания HEAD (основной) версии файла и другой версии файла.
<<<<<<< HEAD
>>>>>>> OTHER
В редакторе кода удалите/обновите файлы, чтобы разрешить конфликт, и удалите специальные маркировки, включая имена HEAD и OTHER, сохраните файл, затем добавьте и зафиксируйте свои изменения.
Дополнительные сведения о команде git merge
и всех доступных параметрах см. в документации Git .