Práce se sloučením a odstraněním větve
Nejprve vytvoříme hlavní větev, vložíme několik revizí, vytvoříme novou větev s názvem funkce, přidáme několik revizí, pak se vrátíme k masterování a opětovnému potvrzení. Zde jsou příkazy:
$mkdirmygame
$CDmygame
$git init
$vyhodil 'Design Decision 1: Brainstarm' >>design.txt
$git přidat -NA
$git commit -m 'C0: Zahájený projekt'
$vyhodil 'Design Decision 2: Write Code' >>design.txt
$git přidat -NA
$git commit -m 'C1: Odeslaný kód'
$git větevfunkce
$git pokladnafunkce
$vyhodil „Přidat funkci 1“ >>feature.txt
$git přidat -NA
$git commit -m 'C2: Feature 1'
$vyhodil „Přidat funkci 2“ >>feature.txt
$git přidat -NA
$git commit -m 'C3: Feature 2'
$git pokladnamistr
$vyhodil „Opětovná úprava mistra“ >>design.txt
$git přidat -NA
$git commit -m 'C4: Master Modified'
Výše uvedené příkazy vytvořily následující situaci:
Můžete zkontrolovat historii těchto dvou poboček a zjistit, jaké závazky mají:
$git status
Na pobočce mistra
nic se zavazovat, pracovní adresář čistý
$git log --online
2031b83 C4: Master upraven
1c0b64c C1: Odeslaný kód
$git pokladnafunkce
Přepnuto na pobočku'funkce'
$git log --online
93d220b C3: Funkce2
ad6ddb9 C2: Funkce1
1c0b64c C1: Odeslaný kód
ec0fb48 C0: Zahájen projekt
Předpokládejme nyní, že chcete přenést všechny změny z větve funkcí do naší hlavní větve. Proces budete muset spustit z cíle sloučení. Protože se chceme sloučit do hlavní větve, musíte proces zahájit odtud. Podívejme se tedy na hlavní větev:
$git pokladnamistrPřepnuto na pobočku'mistr'
$git status
Na pobočce mistra
nic se zavazovat, pracovní adresář čistý
Nyní vytvoříme sloučení:
$git sloučitfunkce
Pokud při sloučení nejsou žádné konflikty, otevře se vám textový editor s komentáři:
Sloučit větev'funkce'# Zadejte prosím potvrzovací zprávu, abyste vysvětlili, proč je toto sloučení nutné,
# zvláště pokud sloučí aktualizovaný upstream do větve tématu.
#
# Řádky začínající na# budou ignorovány a prázdná zpráva se přeruší
# závazek.
Komentáře můžete upravit nebo přijmout výchozí. Výstup sloučení by měl zobrazovat výsledky takto:
Sloučení provedené společností'rekurzivní'strategie.feature.txt| 2++
1 souborzměnil,2vložení(+)
vytvořit režim100644feature.txt
Po sloučení máte následující podmínku:
Pokud zkontrolujete protokoly, najdete:
$git statusNa pobočce mistra
nic se zavazovat, pracovní adresář čistý
$git log --online
46539a3 C5: Sloučit větev'funkce'
2031b83 C4: Master upraven
93d220b C3: Funkce2
ad6ddb9 C2: Funkce1
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 k dispozici.
$git větev -nafunkce
*mistr
Můžete jej odstranit následujícím příkazem:
$git větev -dfunkcePokud zaškrtnete nyní, měli byste vidět pouze hlavní větev:
$git větev -na*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 porozumět mu.