Ответ
Чтобы слить изменения из одной ветки в другую через командную строку Git, я выполняю следующие шаги:
-
Убедиться в актуальности целевой ветки. Переключаюсь на ветку, В КОТОРУЮ нужно внести изменения (например,
mainилиdevelop), и подтягиваю последние изменения с удаленного репозитория.git checkout main git pull origin main -
Выполнить слияние. Запускаю команду
merge, указав ветку-источник изменений.git merge feature/new-authentication- Если слияние проходит без конфликтов (fast-forward или автоматическое разрешение), Git создаст новый коммит слияния (или переместит указатель ветки).
- Чтобы всегда создавался коммит слияния, даже при возможности fast-forward, использую флаг
--no-ff:git merge --no-ff feature/new-authentication
-
Разрешение конфликтов (если возникли). Если Git сообщает о конфликтах:
- Открываю файлы, помеченные как конфликтные (в них будут блоки
<<<<<<<,=======,>>>>>>>). - Вручную редактирую их, оставляя нужный код, и удаляю маркеры конфликта.
- Добавляю исправленные файлы в индекс и завершаю слияние коммитом.
git add <конфликтный_файл> git commit -m "Merge branch 'feature/new-authentication' into main" - Если нужно прервать слияние и вернуть все как было, использую:
git merge --abort
- Открываю файлы, помеченные как конфликтные (в них будут блоки
-
Отправка результата на удаленный репозиторий.
git push origin main