Junior
Šta je cherry-pick?
sobes.tech АИ
Одговор од АИ
git cherry-pick се користи за пренос једног или више комита из једне гране у другу.
Принцип рада:
- Изабере одређени комит (или комитe) у изворној грани.
- Примењује промене садржане у тим комитима на тренутну активну грану.
- Креира нове комитe у тренутној грани са истим променама и порукама као и оригинални.
Када користити:
- Пренос конкретне исправке грешке из једне гране (нпр. production) у другу (нпр. development), без утицаја на друге промене.
- Примењивање промена из једне feature гране у другу, без потпуног спајања.
- Отказивање неправилних merge-ова уз очување појединачних комита.
Разлике од merge и rebase:
merge: Уједињује целу историју промена из једне гране у другу.rebase: Пише историју комита поново, премештајући их на нову базу.cherry-pick: Примењује само изабране комите, креира нове и не мења историју оригиналних комита.
Главна команда:
# Пренос једног комита
git cherry-pick <commit-hash>
# Пренос више комита (у редоследу њиховог навођења)
git cherry-pick <commit-hash-1> <commit-hash-2> ...
Пример:
Замислите да постоје две гране: main и feature. На грани feature направљен је комит fix-typo. Овај комит треба пренети у main.
# Прелазак на циљну грану
git checkout main
# Извршавање cherry-pick са хешем комита из гране `feature`
git cherry-pick 7f3bca2 # Пример хеша
Након извршавања команде, у main грани ће се појавити нови комит са истим променама као fix-typo, али са другим хешем.