GIT Cherry-pick - Kdy a jak používat GIT Cherry-pick s příkladem?

Obsah:

Anonim

Úvod do GIT Cherry-pick

V tomto článku se podrobně seznámíme s GIT Cherry-pick. Existuje mnoho programátorů pracujících na stejném vývoji softwaru z různých koutů světa. Jak tedy spravovat kódy? Jak přimějí ostatní, aby pochopili, jaké změny provedli? Jak odevzdat kódy a udržovat různé verze? Jak sloučit kódy?

K vyřešení těchto problémů vstoupil GIT do světa rozvoje. GIT je vynikající systém správy zdrojových kódů (SCM) a distribuovaný systém řízení verzí. GIT vytvořil Linux Torvald, osoba, která vyvinula linuxové jádro. Je zřejmé, že se jedná o nástroj s otevřeným zdrojovým kódem, kde každý programátor může přispět k vytváření softwaru z libovolného místa na světě.

GIT má mnoho funkcí. Může mít více poboček. Vývojář může psát kódy po vytvoření své vlastní větve v místním systému a sloučit je s hlavní větví nebo jinými větvemi vzdáleného úložiště GIT.

Co je GIT Cherry-pick?

Představte si, že projektová práce bude psát skript o historii a vývoji mobilních telefonů. Takže na stejném projektu pracuje mnoho lidí a všichni pracují samostatně. Nakonec však bude skript každého zkompilován společně.

Nyní člen A píše o telefonech Apple a najednou si uvědomí, že to může být lepší. O této skutečnosti informoval ostatní členy týmu, kteří pracují na stejném projektu. Jiný člen X mu řekl, že píše skript na telefonech Android a požádal člena A, aby se podíval.

Poté se člen A podíval do skriptu spoluhráče a zjistil, že některé části jsou stejné a některé změny jsou opravdu dobré. Proto tyto změny vybral a vložil do svého vlastního skriptu. To je to samé, co cherry-pick volal v GIT ve věci softwarového kódování průmyslu.

Git-cherry-pick je výkonný příkaz git a cherry-picking je proces, který vyzvedne potvrzení z pobočky a použije ji na jinou větev. Jednoduše řečeno, může existovat více odvětví, kde vývojáři odevzdají své kódy. Nyní, jeden vývojář měl zavázat své kódy ve větvi A, ale dopustil se kódů ve větvi B omylem. Tento čas cherry-pick může přepnout zpět potvrzení ke správné větvi.

Pomocí příkazu níže (v systému Unix) znáte různé možnosti pro git-cherry-pick,

Příkaz:

$man git-cherry-pick

Syntaxe příkazu cherry-pick,

Syntax:

git cherry-pick (–edit) (-n) (-m parent-number) (-x)

Když použijeme GIT Cherry-pick?

Git-cherry-pick je užitečným nástrojem, ale ne vždy nejlepší praxí. git-cherry-pick lze použít v následujících scénářích,

  • Opravit, když došlo k náhodnému potvrzení v jiné větvi.
  • Preferované tradiční fúze
  • Chcete-li použít změny v existující revizi.
  • Duplicitní potvrzení
  • Oprava chyb

Jak funguje GIT Cherry-pick?

Je třeba implementovat vadu nalezenou v kódu v produkčním prostředí a opravu. Jakmile je změna implementována a vada je opravena, nyní je čas vrátit tuto změnu kódu zpět do vývojového prostředí, aby se vada v budoucnu znovu a znovu nevyskytovala v produkčním prostředí.

První možností je jednoduché sloučení git a je to ideální řešení, pokud funguje. Existují však i další změny provedené v produkčním prostředí a tyto nelze během sloučení vrátit zpět do vývojového prostředí. A v tom případě je třešeň správná volba.

Cherry-pick přináší to potvrzení, které bylo vytvořeno pouze pro opravu chyb. Nevyberá ostatní závazky.

Zde je ilustrace,

Obr. 1: G a H jsou závazky oboru Výroba. Odvětví rozvoje A až F se zavazuje. Problém se nachází v odvětví Výroba. Oprava je vyvinuta v H commit, který musí být aplikován ve větvi Development, ale není nutné použít commit G.

Obr. 2: Nyní je potvrzení H vybráno v odvětví rozvoje a výsledné potvrzení je H '. Změny Commit G nejsou zahrnuty v odvětví rozvoje.

Jak používat GIT Cherry-pick s příkladem?

Předpokládejme, že máme dvě větve (master a new_feature) (příkaz použitý k zobrazení větve branch-git)

Potvrdili jsme (zvýraznění) v větvi new_feature omylem. (příkaz použitý k zobrazení potvrzeného protokolu logs-git)

Měl však být pouze v hlavní větvi. Nejprve zkopírujte zvýrazněný SHA v poznámkovém bloku.

Nyní použijeme příkaz git-cherry-pick k přesunutí tohoto závazku k hlavní větvi, ale předtím musíme přepnout na hlavní větev (příkaz použitý k přepnutí check-branch větve-git < větev > )

(příkaz použitý git - cherry - pick < commit id > ) (stejný SHA by měl být vložen, který byl zkopírován do poznámkového bloku dříve pomocí příkazu git cherry-pick)

Nyní vidíme, že stejné potvrzení je k dispozici v hlavní větvi (příkaz used-git log)

Další příklady příkazů git cherry-pick naleznete v níže uvedeném odkazu,

https://git-scm.com/docs/git-cherry-pick

Důležité věci k zapamatování

Při práci s třešněmi a práci v týmu je třeba mít na paměti tři věci.

1. standardize potvrzení zprávy: Je lepší použít standardizaci zprávy potvrzení a -x, pokud vybíráme z veřejné pobočky.

git cherry-pick -x

V budoucnu zamezí sloučení konfliktu.

2. kopírovat přes poznámky: Někdy některé třešně mají poznámky a když spustíme třešně, poznámky se nezkopírují. Proto je lepší jej používat.

git notes copy

3. Vícenásobné potvrzení o výběru, pokud jsou pouze lineární: Chceme vybrat více potvrzení jako G, H (obr. 1), pokud jsou lineární, použijte pouze příkaz níže,

git cherry-pick G^..H

Závěr

Předpokládejme, že chceme vyzvednout konkrétní potvrzení z jiné větve a použít pro aktuální větev. Zde jsou doporučené kroky,

1. Najdi potvrzovací hash, který musí být vybrán jako první.

2. Přejděte na cílovou větev.

3. git cherry-pick -x

Vyřešte konflikty, pokud k nim dojde. Pokud jsou v původním odevzdání poznámky, je třeba je zkopírovat.

git notes copy

Doporučené články

Toto je průvodce GIT Cherry-pick. Zde diskutujeme jeho fungování a jak používat git cherry-pick s příklady v detailech. Další informace naleznete také v následujících článcích -

  1. Git Tools
  2. Terminologie Git
  3. Značka Git Checkout
  4. Co je Git Branch?