PassFront
  1. PassFront
  2. База знаний
  3. Слияние, rebase и конфликты

Как перенести commit из одной git ветки в другую?

Слияние, rebase и конфликты

Перенести отдельный коммит в другую ветку можно командой `git cherry-pick`.

Как сделать

git log feature --oneline     # найти хеш нужного коммита
git switch main
git cherry-pick a1b2c3d

Git создаёт в main новый коммит с теми же изменениями, но другим хешем.

Полезное

  • Несколько коммитов: git cherry-pick a1b2c3d e4f5g6h или диапазон A..B.
  • При конфликте: исправить, git add, затем git cherry-pick --continue.
  • -x добавляет в сообщение ссылку на исходный коммит.

Если коммит нужно убрать из старой ветки

После cherry-pick в исходной ветке коммит остаётся — его убирают через git reset или git revert.

Коротко для собеседования

git cherry-pick <hash> копирует изменения коммита в текущую ветку новым коммитом; часто используют для хотфиксов.

Подробнее: Pro Git — cherry-pick

Другие вопросы раздела