61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
---
|
||
title: Git Merge
|
||
localeTitle: Git Merge
|
||
---
|
||
## Git Merge
|
||
|
||
Команда `git merge` объединит любые изменения, внесенные в базу кода на отдельной ветви, в вашу текущую ветку.
|
||
|
||
Синтаксис команды следующий:
|
||
|
||
```shell
|
||
git merge BRANCH-NAME
|
||
```
|
||
|
||
Например, если вы сейчас работаете в ветви с именем `dev` и хотели бы объединить любые новые изменения, которые были сделаны в ветви с именем `new-features` , вы должны выполнить следующую команду:
|
||
|
||
```shell
|
||
git merge new-features
|
||
```
|
||
|
||
**Обратите внимание:** если в вашем текущем филиале есть какие-либо незафиксированные изменения, Git не позволит вам объединиться, пока не будут выполнены все изменения в вашем текущем филиале. Чтобы справиться с этими изменениями, вы можете:
|
||
|
||
* Создайте новую ветку и зафиксируйте изменения
|
||
|
||
```shell
|
||
git checkout -b new-branch-name
|
||
git add .
|
||
git commit -m "<your commit message>"
|
||
```
|
||
|
||
* Сшить их
|
||
|
||
```shell
|
||
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
|
||
```
|
||
|
||
* Отказаться от всего
|
||
|
||
```shell
|
||
git reset --hard # removes all pending changes
|
||
```
|
||
|
||
## Объединить конфликт
|
||
|
||
Конфликт слияния - это когда вы совершаете фиксации на отдельных ветвях, которые изменяют одну и ту же строку конфликтующими способами. Поэтому Git не будет знать, какую версию файла сохранить
|
||
|
||
в результате появляется сообщение об ошибке:
|
||
|
||
CONFLICT (content): Объединить конфликт в файле resumé.txt Ошибка автоматического слияния; исправить конфликты и затем зафиксировать результат.
|
||
|
||
В редакторе кода Git использует маркировки для указания HEAD (основной) версии файла и другой версии файла.
|
||
|
||
`<<<<<<< HEAD`
|
||
|
||
`>>>>>>> OTHER`
|
||
|
||
Из редактора кода удалите / обновите, чтобы разрешить конфликт, и удалите специальные маркировки, включая имена HEAD и OTHER, перезагрузите файл, затем добавьте и подтвердите свои изменения.
|
||
|
||
Дополнительные сведения о команде `git merge` и всех доступных параметрах см. В [документации Git](https://git-scm.com/docs/git-merge) . |