Git

Jak Cherry Pick v Git

Jak Cherry Pick v Git
git cherry pick je sloučená vlastnost Gitu. Ale je malý rozdíl v git cherry pick a git merge. Případ použití je také jiný. Podívejme se, jak nejprve funguje git merge, a pak to porovnáme s git cherry pick. Tímto způsobem pochopíte, kdy použít git merge a kdy použít git cherry pick.

Řekněme, že máte úložiště Git. Pracujete na mistr větev a udělali jste pár závazků (A, B a C) na mistr větev také.

A najednou máte skvělý nápad. Takže vytvoříte další větev Newidea. Poté jste začali dělat závazky (E, F a G) tam.

Udělali jste také několik změn v mistr znovu větev a přidal nové potvrzení H.

Pokud je váš nový nápad úspěšný, možná budete chtít sloučit Newidea větev do mistr větev. Řekněme, že jste to spojili. Vytvoří nové potvrzení jak vidíte na obrázku níže. Nová revize bude obsahovat vše (všechny změny v revizích E, F, a G) pobočky Newidea.

Řekněme, že nechcete sloučit všechny závazky pobočky Newidea do mistr větev. Chcete pouze sloučit změny (pouze změny rozdílu) v potvrzení F do mistr větev. To je místo, kde přichází výběr git cherry. Git cherry pick vám to umožní. Právě najdete hash potvrzení, které chcete vybrat, a aplikujte jej na požadovanou větev. Velmi jednoduché.

V tomto článku vám ukážu, jak vybrat třešeň v Gitu. Pojďme tedy začít.

Pracovní postup Git Cherry Pick:

V této části se chystám nastavit úložiště Git takovým způsobem, abyste pochopili, proč se používá git cherry pick a jak cherry pick v Git.

Nejprve inicializujte prázdné úložiště Git demo cherry-pick / jak následuje:

$ git init cherry-pick-demo

Nyní přejděte do úložiště následujícím způsobem:

$ cd cherry-pick-demo /

Nyní vytvořte hlavní.C soubor s následujícím obsahem:

Nyní přidejte soubor do pracovní oblasti následujícím způsobem:

$ git přidat .

Nyní proveďte změny následujícím způsobem:

$ git commit -m 'initial commit'

Nyní vytvořte .gitignore soubor s následujícím obsahem:

Přidejte soubor do pracovní oblasti.

$ git přidat .

Potvrdit změny:

$ git commit -m 'přidáno .soubor gitignore '

Jak vidíte, nyní mám v mém 2 závazky mistr větev.

$ git log - online

Nyní chci poslat své místní úložiště Git na vzdálený server Git, aby na tomto úložišti mohli pracovat další lidé. Zde můžete také použít GitHub. Zde použiji místní server SSH.

Přidejte tedy adresu URL vzdáleného úložiště Git následujícím způsobem:

$ git vzdálené přidání původu git @ git.linuxhint.com: ~ / cherry-pick-demo.sakra

Nyní zatlačte na mistr větev do vzdáleného úložiště Git následujícím způsobem:

$ git push origin master

Nyní řekněme bob chce do projektu přispět. Naklonoval tedy úložiště Git do svého počítače.

$ git klon git @ git.linuxhint.com: ~ / cherry-pick-demo.git myproject

Nyní Bob přejde do svého adresáře projektu.

$ cd myproject /

Má také 2 závazky, které jsem přidal.

$ git log - online

Nyní Bob vytváří a test pobočka vyzkoušet jeho nápady.

$ git checkout -b test

Rozhodne se změnit návratovou hodnotu konstantou EXIT_SUCCESS z stdlib knihovna.

Přidá změny do pracovní oblasti.

$ git přidat .

Potvrdí změny.

$ git commit -m 'použit návratovou hodnotu EXIT_SUCCESS namísto 0'

Nyní se rozhodne použít funkci printMessage () pro tisk zprávy. Píše tedy funkci.

Znovu provede změny.

$ git přidat .
$ git commit -m 'přidaná funkce printMessage ()'

Poté bob použije funkci v programu.

Znovu provede změny.

$ git přidat .
$ git commit -m 'použitá funkce printMessage () k tisku zprávy'

Nyní má bob v test větev.

Nyní Bob tlačí testovací větev do vzdáleného úložiště Git.

$ git push origin test

Nyní vám Bob zavolá a řekne vám o úžasných změnách, které provedl. Takže jste načetli změny do vzdáleného úložiště Git do svého místního úložiště.

$ git načtení

Nyní vidíte novou větev původ / test.

Také jste našli 3 nové závazky, které Bob udělal.

$ git log - online původ / test

Nyní byste chtěli vědět, jaké změny Bob provedl.

$ git log -p původ / test

Rozhodnete se nenahradit návratovou hodnotu EXIT_SUCCESS jako Bob.

Líbí se vám koncept použití funkce k tisku zpráv.

Také se vám líbí toto spáchání.

Chcete tedy sloučit 2 ze 3 spáchaných bobů. Pokud jste ke sloučení testu větve použili git merge, použijí se všechny 3 revize. Ale s funkcí git cherry pick můžete sloučit pouze závazky, které se vám líbí.

Všimněte si, že když se v Gitu rozhodnete potvrdit třešňový výběr, vždy začnete s nejstarším odevzdáním a postupně přejdete k nejnovějšímu.

Předtím jsem si vybral třešničku hlavní.C soubor vypadá následovně.

Pojďme si třešničkou vybrat nejstarší ze dvou revizí 9a4e532 takto:

$ git cherry-pick 9a4e532

Sloučení konfliktu! To se může stát.

Nyní otevřete hlavní.C soubor a opravit konflikt sloučení.

Konečný soubor by měl vypadat následovně.

Nyní přidejte změny do pracovní oblasti.

$ git přidat.

Nyní proveďte změny následujícím způsobem:

$ git cherry-pick - pokračovat

POZNÁMKA: Můžete také použít git commit i tady. Je to na tobě. preferuji git cherry-pick - pokračovat protože automaticky použije zprávu o potvrzení z potvrzení, které vybírám třešeň.

Nyní sem zadejte zprávu o potvrzení a soubor uložte.

Mělo by být přidáno nové potvrzení.

Nyní cherry vyberte další potvrzení následujícím způsobem:

$ git cherry-pick 08ba5e7

Žádný konflikt sloučení. Skvělý! Nové potvrzení by mělo být přidáno automaticky.

Jak vidíte, dostanu přesně to, co jsem chtěl. Sloučil jsem pouze závazky, které jsem potřeboval.

Tak si vyberete třešně v Gitu. Děkujeme za přečtení tohoto článku.

Ovládejte a spravujte pohyb myši mezi více monitory ve Windows 10
Správce myší se dvěma displeji umožňuje ovládat a konfigurovat pohyb myši mezi více monitory zpomalením jeho pohybů poblíž hranice. Windows 10/8 vám u...
WinMouse vám umožňuje přizpůsobit a vylepšit pohyb ukazatele myši na PC s Windows
Chcete-li vylepšit výchozí funkce ukazatele myši, použijte freeware WinMouse. Přidává další funkce, které vám pomohou vytěžit ze své skromné ​​myši ma...
V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...