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

Что такое cherry-pick в Git?

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

`git cherry-pick` применяет изменения выбранного коммита к текущей ветке, создавая новый коммит.

Пример

git switch release/2.1
git cherry-pick 4f2a9c1

Исправление из main попадает в релизную ветку без остальных коммитов main.

Когда используют

  • перенести хотфикс в несколько веток;
  • забрать один полезный коммит из чужой ветки;
  • спасти коммит, сделанный не в той ветке.

Нюансы

  • Получается новый коммит с другим хешем — Git не знает, что это «тот же» коммит, поэтому при последующем merge возможны дубли и конфликты.
  • Можно брать несколько коммитов или диапазон A^..B.
  • При конфликте: исправить, git add, git cherry-pick --continue.

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

cherry-pick копирует изменения конкретного коммита в текущую ветку новым коммитом; удобно для хотфиксов, но злоупотреблять не стоит.

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

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