git sběr třešní v git znamená výběr odevzdání z jedné větve a jeho použití v jiné větvi. To je v kontrastu s jinými způsoby jako např spojit a předjíždění které běžně aplikují mnoho commitů do jiné větve.
git cherry-pick je stejně jako rebasing , pokročilý koncept a také mocný příkaz. Používá se hlavně v případě, že nechcete sloučit celou větev a chcete některé commity.
Kdy použít cherry-pick?
Předpokládejme, že vývojář nedokáže rozpoznat, na které větvi se aktuálně nachází, a omylem se zavázal k jiné větvi místo toho, aby se zavázal k větvi hlavní. Aby to teď napravil, musí nejprve utéct git show , poté uložte odevzdání, prohlédněte si hlavní větev, aplikujte tam opravu a odevzdejte stejnou zprávu odevzdání. Ale to vše lze provést automaticky pomocí jediného příkazu, tzn. sběr třešní.
Pro lepší pochopení se podívejte na níže uvedený diagram:

Před Cherry Pick

Po Cherry Pick
Příkaz pro Cherry-pick je následující:
git cherry-pick>
Potvrdit hash: Hash odevzdání je jedinečný identifikátor, který generuje Git. Každý commit má svůj jeden hash commitu.
Poznámka: Při používání tohoto příkazu se ujistěte, že jste ve větvi, ve které chcete provést odevzdání.
Jak používat třešeň?
Zde je podrobné vysvětlení použití příkazu cherry-pick v níže vytvořeném projektu krok za krokem, jak je uvedeno níže:
Krok 1: Otevření git bash a vytvoření nového projektu s názvem vzorek a inicializaci úložiště pomocí je horko příkaz.
Krok 2: Vytvoření a ' .txt“ pomocí souboru my příkaz k projektu řekněme indexový soubor a přidejte jej do našeho vzorového projektu a před stisknutím klávesy Enter proveďte potvrzení a napište zprávu o potvrzení.
Poznámka: Po spuštění my příkaz , zadejte :wq pro uložení a ukončení souboru.
Jeden může zkontrolovat váš závazek git log povel snadno:
Krok 3: Nyní předpokládejme, že máme 2 verze, takže vytvořte 2 různé větve pomocí větev git příkaz a přesuňte se do větve, řekněme 2 pomocí git pokladna příkaz.
seřazený n-ticový python
Poznámka: Všechny větve lze jednoduše zobrazit spuštěním příkazu git branch, jak je znázorněno na obrázku níže.
Krok 4: Nyní předpokládejme, že chcete pracovat na nějaké nové funkci, takže vytvoření a přidání nového souboru funkce řekněme feature.txt pomocí my a přidat příkaz, jak je znázorněno níže. Poté potvrďte změny pomocí zprávy potvrzení.
Můžete zkontrolovat svůj odevzdání pomocí příkazu git log, jak je znázorněno níže:

Jasně ukazuje náš první odevzdání, kde je naše větev 1 a ve větvi 2 se posunula dále a v současné době pracujeme na naší funkci ve větvi 2
Krok 5: Nyní předpokládejme, že jsme našli chybu v naší funkci a zjistili jsme, že stejná chyba je také přítomna v naší 1 větvi.
A nyní se snažíme opravit nějakou chybu nebo problém, jak je uvedeno níže, přidáním souboru fix.txt, dejme tomu, a přidáním do aktuální větve, tj. 2, a provedením požadovaných změn.
Kontrola našich konečných závazků:
Krok 6: Nyní, opravili jsme chybu ve větvi 2, ale také musíme přidat tuto opravu do naší větve 1, ale nechceme tuto větev 2 sloučit do naší větve 1, protože na této funkci může stále probíhat práce.
V tomto scénáři tedy můžeme vybrat tento konkrétní commit. Chcete-li tak učinit, zkopírujte soubor hash hodnota zvýrazněný ve výše uvedeném diagramu, poté přejděte na větev 1 pomocí checkout a poté použijte příkaz sběr třešní a vložte hash, který jsme právě zkopírovali.
Jak je jasně vidět z výše uvedeného, pak si všimneme, že dříve jsme měli pouze index.txt, než jsme provedli výběr třešní, ale nyní máme soubor fix.txt také v naší 1. větvi.
Teď, když to zkusíme zkontrolovat git log –oneline , budeme moci vidět, že commit přišel také ve větvi 1.
Některé důležité případy použití Cherry-pick
Níže jsou uvedeny některé běžné aplikace Cherry-Pick:
- Pokud omylem provedete commit v nesprávné větvi, pak pomocí cherry-pick můžete aplikovat požadované změny.
- Předpokládejme, že stejnou datovou strukturu má používat jak frontend, tak backend projektu. Poté může vývojář použít cherry-pick k výběru odevzdání a použít jej pro svou část projektu.
- V okamžiku, kdy je nalezena chyba, je důležité předat opravu koncovým klientům tak rychle, jak by se dalo očekávat.
- Někdy se může stát, že větev komponenty zestárne a nekonverguje se do hlavní větve a požadavek se může uzavřít, ale protože git nikdy neztratí tyto revize, může být vybrána a bude zpět.
Nevýhody použití Cherry Pick
Cherry-pick by se nemělo používat vždy, protože může způsobit zapsání kopie a v mnoha situacích, kdy by fungovalo vybírání třešní, jsou konvenční slučování rádi se vším všudy. Také v situaci, kdy commity ze 2 nebo více větví aktualizují podobné řádky kódu s různými látkami a git cherry-pick jeden commit do druhé větve, vyvolá konflikt také.
Závěr
Příkaz třešeň-pick od Gitu je výkonný nástroj pro selektivní aplikaci konkrétních odevzdání mezi větvemi. Je to skvělé pro opravu chyb a sdílení kódu, ale jeho nadměrné používání může vést k problémům, zvláště když se commity dotýkají stejných řádků kódu. Používejte jej tedy moudře k udržení čisté a efektivní historie kódu.