Что такое 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