🍒Что такое cherry pick git и как он работает?

Команда git cherry-pick в Git используется для выборочного применения коммитов. Она позволяет вам выбрать определенные коммиты из одной ветки и применить их к другой ветке. Вот как это работает:

1. Сначала вы должны быть на ветке, куда хотите применить выбранные коммиты.

git checkout 

2. Затем используйте команду git cherry-pick с указанием нужного коммита или коммитов.

git cherry-pick 

3. Git применит выбранный коммит к текущей ветке, создавая новый коммит.

Пример:

git cherry-pick ABC123

В этом примере, коммит с идентификатором ABC123 будет применен к текущей ветке.

Детальный ответ

cherry pick git: ка­к ра­бо­та­ет

Git — рас­про­стра­нен­ная си­сте­ма уп­ра­вле­ния вер­си­я­ми, ко­то­рая позво­ля­ет со­хра­нять изме­не­ния в коде про­ек­та и ме­нять вер­сии файлов. Cherry pick (сле­вом пре­до­ка ти­пич­ной тех­ни­ки сбора я­год) — од­на из ко­ман­д Git, ко­то­рая поз­во­ляет вы­би­рать от­де­ль­ные ком­миты из од­ного ветвления и приме­нять их к дру­го­му ветв­ле­нию.

В лег­ком раз­ме­ре это за­да­ча, ко­то­рая по­зво­ля­ет скопи­ро­вать кон­крет­ные ком­миты из од­ной вет­ви и пере­нес­ти их в дру­гую. Су­ти­чес­ки, cherry pick де­лает ко­пи­ю вы­бранных ком­митов и нано­сит их из­ме­не­ния на це­ль.

До­пус­тим, вы раб­о­та­ете на про­екте, в ка­то­ром есть глав­ная сис­тема (ветвь) и вы хо­те­ли бы на­пи­сать но­вую функ­ци­ю, но не же­ла­ете тро­гать другие ча­сти про­ек­та. В этом слу­чае вы мо­же­те ис­поль­зо­вать ком­манду cherry pick за­ме­сто того, что­бы сли­вать все из­ме­не­ния с глав­ной сис­те­мой. Или, на­при­мер, вы мо­же­те из од­но­го ветвления ско­пи­ро­вать од­ну или не­ско­ль­ко ко­ман­д, кото­рые сде­ла&шл; друг­ой раз­ро­бот­чик, и приме­нить их к своему ве­твле­нию.

Что­бы вос­поль­зо­вать­ся ко­ман­дой cherry pick, вам нео­бхо­ди­мо знать хэш ко­мита, ко­то­рый вы хо­те­ли бы взять. На­при­мер:

$ git cherry-pick 92d66d2

В вы­ше­пре­дос­тав­лен­ном пре­ме­ре, "92d66d2" - это хэш ком­мита, ко­то­рый вы ко­пи­ру­е­те, вот и все.

Од­нако, вы можете ско­пи­ро­вать не­сколь­ко ко­ман­д сразу. Для этого вы пе­ре­ре­чи­с­ля­ете хэши ко­митов в от­де­льных ар­гу­ментах:

$ git cherry-pick 92d66d2 f8d826e 7534820

Кро­ме того, Git также под­де­ржи­вает комби­но­ва­ние ком­ан­д cherry pick и revert. В этом слу­чае, Git про­имен­ует изме­не­ния, ин­ту­ит­ив­но отне­ся­те­ся к си­те­ме.

Ес­ли вам не на­до просто скопи­ро­вать испра­вления из од­ного ко­мита в дру­гой, вы мо­же­те в дре­во ком­митов. В этом слу­чае, вы мо­же­те выпо­лнить ко­ман­ду cherry pick для не­ско­ль­ких ко­митов из дру­гой ветви и пере­нес­ти их в те­ку­щую ветвь ваше­го проекта.

Cherry pick в Git по­зво­ля­ет вам копи­ро­вать от­де­льные ком­миты из од­ной вет­ви, что очень удоб­но, ко­гда вы хо­те­ли бы пере­нес­ти о­пределён­ные из­ме­не­ния в дру­гую вет­вь. Ис­поль­зу­j­те дан­ную ком­ман­ду, ука­зы­вая не­об­хо­ди­мый хэш ко­мита, и Git сде­лает ра­бо­ту за вас!

Видео по теме

8.1 Git - Копирование коммитов - Копирование коммитов: cherry-pick

Git cherry pick. Как перенести коммиты в другую ветку

GIT: Merge или Rebase? В чем разница?

Похожие статьи:

🔧 Как сделать git clone через консоль? Подробная инструкция с примерами!

🚀 Что такое Git force push и зачем это нужно?

🍒Что такое cherry pick git и как он работает?

Как узнать родительскую ветку git? Краткое руководство с использованием эмодзи