Práce se slučováním a mazáním poboček
Nejprve vytvořme hlavní větev, vložme několik revizí, vytvořme novou větev nazvanou funkce, přidejme několik revizí, pak se vraťme k masteru a znovu potvrdíme. Tady jsou příkazy:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Návrhové rozhodnutí 1: Brainstarm" >> design.txt
$ git přidat -A
$ git commit -m "C0: Zahájený projekt"
$ echo "Návrhové rozhodnutí 2: Napište kód" >> design.txt
$ git přidat -A
$ git commit -m "C1: Odeslaný kód"
$ git větev funkce
Funkce pokladny $ git
$ echo "Přidat funkci 1" >> funkce.txt
$ git přidat -A
$ git commit -m "C2: Funkce 1"
$ echo "Přidat funkci 2" >> funkce.txt
$ git přidat -A
$ git commit -m "C3: Funkce 2"
$ git pokladna master
$ echo "Modifikace mistra znovu" >> design.txt
$ git přidat -A
$ git commit -m "C4: Master Modified"
Výše uvedené příkazy vytvořily následující situaci:
Můžete zkontrolovat historii těchto dvou větví a zjistit, jaké závazky mají:
stav $ gitNa pobočce
nic k spáchání, pracovní adresář čistý
$ git log - online
2031b83 C4: Master Modified
1c0b64c C1: Odeslaný kód
Funkce pokladny $ git
Přepnuto na větev funkcí
$ git log - online
93d220b C3: Funkce 2
ad6ddb9 C2: Funkce 1
1c0b64c C1: Odeslaný kód
ec0fb48 C0: Zahájený projekt
Nyní předpokládejme, že chcete přenést všechny změny z větve funkcí do naší hlavní větve. Budete muset zahájit proces od cíle sloučení. Protože chceme sloučit do hlavní větve, musíte zahájit proces odtud. Podívejme se tedy na hlavní větev:
$ git pokladna masterPřepnuto na větev „master“
stav $ git
Na pobočce
nic k spáchání, pracovní adresář čistý
Nyní vytvořme sloučení:
$ git slučovací funkcePokud při sloučení nedojde ke konfliktu, zobrazí se textový editor s komentáři:
Sloučit větev 'funkce'# Zadejte zprávu o potvrzení a vysvětlete, proč je toto sloučení nutné,
# zvláště pokud slučuje aktualizovanou upstream do větve tématu.
#
# Řádky začínající znakem # budou ignorovány a prázdná zpráva se přeruší
# potvrzení.
Můžete upravit komentáře nebo přijmout výchozí. Výstup sloučení by měl zobrazit takové výsledky:
Sloučení provedené „rekurzivní“ strategií.Vlastnosti.txt | 2 ++
1 soubor změněn, 2 vložení (+)
vytvořit režim 100644 funkce.txt
Po sloučení máte následující podmínku:
Pokud zkontrolujete protokoly, najdete:
stav $ gitNa pobočce
nic k spáchání, pracovní adresář čistý
$ git log - online
46539a3 C5: Sloučit větev 'funkce'
2031b83 C4: Master Modified
93d220b C3: Funkce 2
ad6ddb9 C2: Funkce 1
1c0b64c C1: Odeslaný kód
ec0fb48 C0: Zahájený projekt
Úspěšně jste sloučili změny. Větev funkcí je však stále přítomna.
$ git větev -afunkce
* mistr
Můžete jej smazat pomocí následujícího příkazu:
Funkce $ git branch -dPokud nyní zkontrolujete, měli byste vidět pouze hlavní větev:
$ git větev -a* mistr
Závěr
Nezapomeňte pravidelně kontrolovat nepoužívané větve a mazat je. Chcete, aby vaše úložiště bylo čisté, aby bylo snadné se v něm orientovat a rozumět mu.
Další čtení:
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging