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

Какой командой в Git можно скопировать коммит в branch?

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

Скопировать коммит в другую ветку можно командой `git cherry-pick`.

git switch release/2.1
git cherry-pick abc1234

Изменения коммита abc1234 применяются к текущей ветке в виде нового коммита с другим хешем.

Варианты

git cherry-pick abc1234 def5678   # несколько коммитов
git cherry-pick A^..B             # диапазон от A до B включительно
git cherry-pick -x abc1234        # добавить в сообщение ссылку на исходный коммит
git cherry-pick -n abc1234        # применить изменения без коммита

Конфликты

Исправить файлы, git add, затем git cherry-pick --continue; отменить — git cherry-pick --abort.

Нюанс

Git не считает скопированный коммит «тем же самым», поэтому при последующем слиянии исходной ветки возможны повторы и конфликты.

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

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

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

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