Junior
Какво е cherry-pick?
sobes.tech AI
Отговор от AI
git cherry-pick се използва за прехвърляне на един или няколко комита от една клонка към друга.
Принцип на работа:
- Избира посочения комит (или комити) в изходната клонка.
- Прилага промените, съдържащи се в тези комити, към текущата активна клонка.
- Създава нови комити в текущата клонка с същите промени и съобщения като оригиналните.
Кога да се използва:
- Прехвърляне на конкретна корекция на грешка от една клонка (например, 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, но с друг хеш.