</> Praktum

Главная / Git / git merge

Справочник Git

git merge: объединяем ветки

git merge добавляет изменения указанной ветки в текущую. Перед командой важно проверить, на какой ветке ты находишься, и обновить её состояние.

Рабочий пример

git switch main
git pull --ff-only
git merge feature/header
git status
# после проверки
git branch -d feature/header

Если история не расходилась, Git выполняет fast-forward. При независимых коммитах создаётся merge commit, а конфликтующие участки нужно исправить вручную и добавить через git add.

Когда применять

Перед объединением запусти тесты и просмотри diff. Не разрешай конфликт механическим выбором «нашего» или «их» файла без понимания обеих правок.

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

Частые ошибки

  • Запускать merge не из целевой ветки
  • Удалять маркеры конфликта без проверки логики
  • Смешивать в одном merge несвязанные изменения

Слияние соединяет истории, а не файлы наугад

Git ищет общий коммит двух веток и пытается сложить разные правки. Если ты менял форму, а в main за это время поменяли только подвал, слияние пройдёт само. Если обе ветки правили одну и ту же строку, Git остановится и попросит выбрать итог.

Конфликт — не поломка репозитория. Файлы остаются на месте, а спорные места помечены. Открой файл, оставь нужный текст, убери служебные строки с <<<<<<<, затем добавь файл и заверши коммит слияния.

git switch main
git merge form-check
# если спор:
# правишь файл, удаляешь маркеры
git add index.html
git commit

Как получить конфликт реже

  • Одна ветка — одна задача, и она живёт недолго.
  • Перед слиянием посмотри git diff main...form-check.
  • Не форматируй весь файл заодно с маленькой правкой: изменится каждая строка.
  • Договоритесь, кто правит общий кусок, если вас двое.
Запомни: После слияния запусти страницу. Git может честно склеить текст, который вместе больше не работает.

Если слияние ещё не общее

Пока результат не отправлен на сервер, неудачное учебное слияние можно отменить командой, которую подскажет сам Git, или вернуться к коммиту до слияния. Не удаляй папку проекта. История для того и есть, чтобы откатить снимок, а не начать сначала с рабочего стола.

Задание

Создай учебную ветку, измени один файл и объедини её с main, проверив log.

Проверка: результат должен работать с клавиатуры, не создавать ошибок в консоли и оставаться понятным без пояснений автора.

Практикум по теме

Ещё в разделе Git