Základy slučování a mazání větví Git

Basics Git Merging



Pobočka vám může pomoci zorganizovat si práci. Aby však byla práce soudržná, musíte být schopni svoji práci sloučit. Pokud větve nikdy nesloučíte a nesmažete, může být vaše historie příliš chaotická na to, abyste ji pochopili.

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 pokladnamistr
Př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 status
Na 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 -na
funkce
*mistr

Můžete jej odstranit následujícím příkazem:

$git větev -dfunkce

Pokud 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.

Další čtení: