Ultimate Guide to Git Merge a Git Rebase

Vítejte na našich ultimate guide git merge git rebase příkazy. Tento tutoriál vás naučí vše, co potřebujete vědět o kombinaci více větví s Git.

Git Merge

git merge příkaz sloučit všechny změny, které byly provedeny základní kód na samostatnou větev do vaší aktuální větve jako nový commit.,

syntaxe příkazu je následující:

git merge BRANCH-NAME

například, pokud jste v současné době pracuje v pobočce jménem dev a chtěli byste sloučit všechny nové změny, které byly provedeny v pobočce jménem new-features, tak bys vydat následující příkaz:

git merge new-features

Poznámka: Pokud tam jsou nějaké nepotvrzené změny na vaší aktuální větve, Git nebude vám umožní sloučit, dokud se všechny změny ve vaší aktuální větvi byly spáchány., Zvládnout tyto změny, můžete buď:

Vytvořit novou větev a potvrdit změny

git checkout -b new-branch-namegit add .git commit -m "<your commit message>"

Stash je

git stash # add them to the stashgit merge new-features # do your mergegit stash pop # get the changes back into your working tree

Opustit všechny změny

git reset --hard # removes all pending changes

Git Rebase

Rebasing pobočku v Git je způsob, jak se pohybovat v rozsahu pobočky na jiné místo ve stromu. Nejjednodušším příkladem je posunutí větve dále do stromu., Řekněme, že máme pobočky, které se rozcházely z hlavní větve v bodě A:

 /o-----o---o--o-----o--------- branch--o-o--A--o---o---o---o----o--o-o-o--- master

Pokud jste rebase můžete jej přesunout takhle:

 /o-----o---o--o-----o------ branch--o-o--A--o---o---o---o----o--o-o-o master

rebase, ujistěte se, že máte všechny zavazuje chcete v rebase ve své hlavní větvi. Podívejte se na větev, kterou chcete rebase a typ git rebase master (kde master je větev, kterou chcete rebase)., že například větev, která byla založena na jinou větev (řekněme, že je to funkce) je rebased na master:

 /---o-o branch /---o-o-o-o---o--o------ feature----o--o-o-A----o---o--o-o-o--o--o- master

Po git rebase master branch nebo git rebase master když máte odhlásila pobočku, dostanete:

 /---o-o-o-o---o--o------ feature----o--o-o-A----o---o--o-o-o--o--o- master \---o-o branch

Git rebase v interaktivní konzoli

použití git rebase v konzoli se seznamem commitů, můžete si vybrat, editovat, nebo pokles v rebase:

  • Enter git rebase -i HEAD~5 s poslední číslo je libovolný počet commitů od poslední zpět, které chcete zkontrolovat.,
  • ve vim stiskněte esc, poté i pro zahájení úpravy testu.
  • na levé straně můžete přepsat pick jedním z níže uvedených příkazů. Pokud chcete squash odevzdání do předchozí a zlikvidujte spáchat zpráva, zadejte f místo pick odevzdání.
  • Uložte a ukončete textový editor.
  • když je rebase zastavena, proveďte potřebné úpravy a poté použijte git rebase --continue, dokud nebude rebase úspěšná.,
  • Pokud je rebases úspěšně, pak budete muset nutit tlačit své změny s git push -f přidat rebased verze do vzdáleného úložiště.
  • pokud dojde ke konfliktu sloučení, existuje řada způsobů, jak to opravit, včetně následujících návrhů v této příručce. Jedním ze způsobů je otevření souborů v textovém editoru a odstranění částí kódu, který nechcete. Poté použijte git add <file name> následované git rebase --continue., Můžete přeskočit konfliktní dopustit zadáním git rebase --skip, přestat rebasing spuštěním git rebase --abort v konzoli.

sloučit konflikty

konflikt sloučení je, když provedete commity na samostatných větvích, které mění stejný řádek konfliktními způsoby.,kterou verzi souboru chcete zachovat chybová zpráva podobná následující:

CONFLICT (content): Merge conflict in resumé.txt Automatic merge failed; fix conflicts and then commit the result.

Pokud se podíváte na resumé.txt soubor v editor kódu, můžete vidět, kde konflikt se konal:

<<<<<<< HEADAddress: 808 South Street=======Address: 505 North Street>>>>>>> updated_address

Git přidal některé další řádky do souboru:

  • <<<<<<< HEAD
  • =======
  • >>>>>>> updated_address

Git Merge vs Git Rebase

git merge git rebase jsou velmi užitečné příkazy, a jeden není lepší než druhý., Existují však některé velmi důležité rozdíly mezi těmito dvěma příkazy, které byste měli vy a váš tým vzít v úvahu.

kdykoli se spustí git merge, vytvoří se další odevzdání sloučení. Kdykoli pracujete v místním úložišti, příliš mnoho commitů sloučení může způsobit, že historie odevzdání bude matoucí. Jedním ze způsobů, jak se vyhnout odevzdání sloučení, je místo toho použít git rebase.

git rebase je velmi výkonná funkce. Jak již bylo řečeno, je také riskantní, pokud se nepoužívá správným způsobem., git rebase mění historii odevzdání, proto ji používejte opatrně. Pokud se rebasing provádí ve vzdáleném úložišti, může vytvořit spoustu problémů, když se ostatní vývojáři pokusí vytáhnout nejnovější změny kódu ze vzdáleného úložiště. Nezapomeňte spustit pouze git rebase v lokálním úložišti.

to je vše, co potřebujete vědět, abyste se spojili a přeskupili s nejlepšími z nich.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *