logo

Git – Čerešňový výber

git čerešňový zber v git znamená výber odovzdania z jednej vetvy a jej použitie v inej vetve. To je v kontraste s inými spôsobmi ako napr zlúčiť a predbiehanie ktoré bežne platia mnohé commity do inej vetvy.

git cherry-pick je ako rebasing , pokročilý koncept a tiež výkonný príkaz. Používa sa hlavne vtedy, ak nechcete zlúčiť celú vetvu a chcete niektoré potvrdenia.



Kedy použiť čerešňový zber?

Predpokladajme, že vývojár nedokáže rozpoznať, na ktorej vetve sa práve nachádza, a omylom sa zaviaže k inej vetve namiesto toho, aby sa zaviazal k hlavnej vetve. Aby to teraz napravil, musí najprv utiecť git show , potom uložte odovzdanie, skontrolujte hlavnú vetvu, aplikujte tam opravu a odovzdajte s rovnakou správou odovzdania. Ale to všetko sa dá urobiť automaticky pomocou jediného príkazu t.j. čerešňový zber.

podzemnica vs arašid

Pre lepšie pochopenie si pozrite nasledujúci diagram:

Pred Čerešňovým výberom



Pred Čerešňovým výberom

Po Cherry Pick

Po Cherry Pick

Príkaz pre Cherry-pick je nasledujúci:



git cherry-pick>

Zaviazať hash: Hash odovzdania je jedinečný identifikátor, ktorý generuje Git. Každé odovzdanie má svoj jeden hash odovzdania.

Poznámka: Pri používaní tohto príkazu sa uistite, že ste vo vetve, v ktorej chcete vykonať odovzdanie.

Ako použiť čerešňa?

Tu je podrobné vysvetlenie použitia príkazu cherry-pick v nižšie vytvorenom projekte, ktorý je postupne znázornený nižšie:

Krok 1: Otvorenie git bash a vytvorenie nového projektu s názvom vzorka a inicializácia repozitára pomocou je horúco príkaz.

Krok 2: Vytvorenie a ' .TXT' pomocou súboru my príkaz do projektu, povedzme indexový súbor a pridajte ho do nášho vzorového projektu a pred stlačením klávesu Enter vykonajte potvrdenie a napíšte správu o odovzdaní.

Poznámka: Po spustení my príkaz , napíšte :wq na uloženie a ukončenie súboru.

rozdiel medzi levom a tigrom

Jeden môže skontrolovať váš záväzok git log jednoducho príkaz:

Krok 3: Teraz predpokladajme, že máme 2 verzie, takže vytvorte 2 rôzne vetvy pomocou git vetva príkaz a presuňte sa do vetvy, povedzme 2 pomocou git pokladňa príkaz.

Poznámka: Všetky vetvy je možné jednoducho zobraziť spustením príkazu git branch, ako je znázornené na obrázku nižšie.

Krok 4: Teraz predpokladajme, že chcete pracovať na nejakej novej funkcii, takže vytvorenie a pridanie nového súboru s novou funkciou povedzme feature.txt pomocou my a pridať príkaz, ako je uvedené nižšie. Potom potvrďte svoje zmeny správou odovzdania.

Svoje odovzdanie môžete skontrolovať príkazom git log, ako je uvedené nižšie:

Jasne ukazuje naše prvé odovzdanie, kde je naša vetva 1 a vo vetve 2 sa posunula ďalej a momentálne pracujeme na našej funkcii vo vetve 2

Krok 5: Teraz predpokladajme, že sme našli chybu v našej funkcii a dozvedeli sme sa, že rovnaká chyba je prítomná aj v našej 1 pobočke.

A teraz sa pokúšame opraviť nejakú chybu alebo problém, ako je uvedené nižšie, pridaním súboru fix.txt, predpokladajme, že ho pridáme do aktuálnej vetvy, t.j. 2, a vykonáme požadované zmeny.

Kontrola našich konečných záväzkov:

Krok 6: teraz opravili sme chybu vo vetve 2, ale túto opravu musíme pridať aj do našej vetvy 1, ale nechceme zlúčiť túto vetvu 2 do našej vetvy 1, pretože na tejto funkcii môže stále prebiehať.

V tomto scenári si teda môžeme vybrať tento konkrétny záväzok. Ak to chcete urobiť, stačí skopírovať súbor hash hodnotu zvýraznený vo vyššie uvedenom diagrame, potom prejdite na vetvu 1 pomocou pokladne a potom použite príkaz čerešňový zber a vložte hash, ktorý sme práve skopírovali.

Ako je zrejmé z vyššie uvedeného, ​​potom si všimneme, že predtým sme mali pred výberom čerešní iba index.txt, ale teraz máme súbor fix.txt aj v našej 1. vetve.

pripojenie java mysql

Teraz, ak sa pokúsime skontrolovať git log – oneline , budeme môcť vidieť, že odovzdanie prišlo aj vo vetve 1.

Niektoré dôležité prípady použitia Cherry-pick

Nasledujú niektoré bežné aplikácie Cherry-Pick:

  1. Ak omylom urobíte commit v nesprávnej vetve, pomocou cherry-pick môžete použiť požadované zmeny.
  2. Predpokladajme, že rovnakú dátovú štruktúru má používať frontend aj backend projektu. Potom môže vývojár použiť cherry-pick na výber odovzdania a použiť ho na svoju časť projektu.
  3. V momente, keď sa zistí chyba, je dôležité sprostredkovať opravu koncovým klientom tak rýchlo, ako by sa dalo očakávať.
  4. Niekedy môže vetva komponentu zostarnúť a nekonvergovať do hlavnej vetvy a požiadavka sa môže zavrieť, ale keďže git nikdy tieto commity nestratí, môže sa vybrať a bude späť.

Nevýhody použitia Cherry Pick

Cherry-pick by sa nemal používať vždy, pretože to môže spôsobiť potvrdenia kópií a mnohé situácie, kde by fungoval výber čerešní, konvenčné zlúčenia sa páčia všetkým veciam. Taktiež v situácii, keď commity z 2 alebo viacerých vetiev aktualizujú podobné riadky kódu rôznymi substanciami a git cherry-pick jeden commit do druhej vetvy, vyvoláva to tiež konflikt.

Záver

Príkaz cherry-pick od spoločnosti Git je výkonný nástroj na selektívne použitie špecifických odovzdaní medzi vetvami. Je to skvelé na opravu chýb a zdieľanie kódu, ale jeho nadmerné používanie môže viesť k problémom, najmä ak sa potvrdenia dotýkajú rovnakých riadkov kódu. Preto ho používajte rozumne, aby ste udržali čistú a efektívnu históriu kódu.