Как разрешить конфликты при слиянии (merge)?
Шаг 1: Запустите слияние
Начните слияние, как обычно, например:
git merge feature-branch
Если возникают конфликты, Git остановит процесс слияния и укажет файлы с конфликтами.
Шаг 2: Проверьте файлы с конфликтами
Используйте команду git status
, чтобы увидеть список файлов с конфликтами:
git status
Файлы с конфликтами будут отмечены как “both modified”.
Шаг 3: Откройте файл с конфликтом в текстовом редакторе
Откройте файл с конфликтом в вашем текстовом редакторе. Конфликтующие части будут помечены следующим образом:
<<<<<<< HEAD
Текущие изменения (из текущей ветки)
=======
Изменения из ветки, которую вы сливаете (feature-branch)
>>>>>>>
Пример:
<<<<<<< HEAD
Это строка из текущей ветки (main).
=======
Это строка из сливаемой ветки (feature-branch).
>>>>>>>
Шаг 4: Разрешите конфликт
Разрешите конфликт, выбрав или объединив изменения. Удалите конфликтующие метки (<<<<<<<
, =======
, >>>>>>>
). Например:
Это строка из текущей ветки (main), объединенная с изменениями из feature-branch.
Или выберите одно из изменений:
Это строка из текущей ветки (main).
Или:
Это строка из сливаемой ветки (feature-branch).
Шаг 5: Добавьте исправленные файлы
После разрешения конфликтов и сохранения изменений добавьте исправленные файлы в индекс:
git add <имя-файла>
Сделайте это для каждого файла с конфликтом.
Шаг 6: Завершите слияние
После добавления всех файлов завершите процесс слияния. Если конфликтов не было, слияние завершится автоматически. В противном случае выполните коммит для завершения слияния:
git commit -m "Resolved merge conflicts"
Шаг 7: Проверьте статус
Проверьте статус вашего репозитория, чтобы убедиться, что все конфликты были разрешены и слияние завершено:
git status
Дополнительные советы
Инструменты для разрешения конфликтов
Вы можете использовать инструменты для визуального разрешения конфликтов, такие какkdiff3
, meld
, VS Code
, Sublime Merge
и другие.
Просмотр изменений
Используйтеgit diff
для просмотра изменений и конфликтов перед разрешением.
Пример использования визуального инструмента (например, VS Code)
git config --global merge.tool vscode
git mergetool
Эти шаги помогут вам успешно разрешить конфликты при слиянии веток в Git.