Základy zlučovania a odstraňovania pobočiek Git

Basics Git Merging



Pobočka vám môže pomôcť udržať si prácu organizovanú. Musíte však byť schopní zlúčiť svoju prácu, aby bola práca súdržná. Ak vetvy nikdy nezlúčite a neodstránite, vaša história môže byť príliš chaotická na pochopenie.

Práca so zlučovaním a odstraňovaním pobočiek

Najprv vytvoríme hlavnú vetvu, vložíme niekoľko potvrdení, vytvoríme novú vetvu s názvom funkcie, pridáme niekoľko potvrdení, potom sa vrátime k predlohe a potvrdíme znova. Tu sú príkazy:







$mkdirmygame
$CDmygame
$git init
$zahodil „Dizajnové rozhodnutie 1: Brainstarm“ >>design.txt
$git pridať -TO
$git commit -m „C0: Začatý projekt“
$zahodil „Dizajnové rozhodnutie 2: Napíšte kód“ >>design.txt
$git pridať -TO
$git commit -m „C1: Predložený kód“
$git pobočkaVlastnosti
$git pokladňaVlastnosti
$zahodil „Pridať funkciu 1“ >>feature.txt
$git pridať -TO
$git commit -m „C2: Funkcia 1“
$zahodil „Pridať funkciu 2“ >>feature.txt
$git pridať -TO
$git commit -m „C3: Feature 2“
$git pokladňamajster
$zahodil „Opätovná úprava predlohy“ >>design.txt
$git pridať -TO
$git commit -m „C4: Master Modified“

Vyššie uvedené príkazy vytvorili nasledujúcu situáciu:





Môžete skontrolovať históriu týchto dvoch pobočiek a zistiť, aké majú záväzky:





$stav git
Na pobočke majstra
nič zaväzovať, pracovný adresár čistý
$git log --jedna čiara
2031b83 C4: Master upravený
1c0b64c C1: Predložený kód

$git pokladňaVlastnosti
Prepnuté na pobočku'Vlastnosti'

$git log --jedna čiara
93d220b C3: Funkcia2
ad6ddb9 C2: Funkcia1
1c0b64c C1: Predložený kód
ec0fb48 C0: Začatý projekt

Teraz predpokladajme, že chcete preniesť všetky zmeny z vetvy funkcií do našej hlavnej vetvy. Proces budete musieť začať od cieľa zlúčenia. Pretože sa chceme zlúčiť do hlavnej vetvy, musíte proces začať odtiaľ. Pozrime sa teda na hlavnú vetvu:

$git pokladňamajster
Prepnuté na pobočku'majster'

$stav git
Na pobočke majstra
nič zaväzovať, pracovný adresár čistý

Teraz vytvoríme zlúčenie:



$git zlúčiťVlastnosti

Ak pri zlúčení nie sú žiadne konflikty, otvorí sa textový editor s komentármi:

Zlúčiť pobočku'Vlastnosti'

# Zadajte správu o potvrdení, aby ste vysvetlili, prečo je toto zlúčenie nevyhnutné,
# obzvlášť ak zlučuje aktualizovaný prúd do vetvy témy.
#
# Riadky začínajúce sa## budú ignorované a prázdna správa sa preruší
# spáchať.

Komentáre môžete upraviť alebo prijať predvolené. Výsledok zlúčenia by mal zobrazovať výsledky takto:

Zlúčenie vykonané spoločnosťou„rekurzívne“stratégie.
feature.txt| 2++
1 súborzmenené,2vložky(+)
režim vytvorenia100644feature.txt

Po zlúčení máte nasledujúcu podmienku:

Keď skontrolujete denníky, nájdete:

$stav git
Na pobočke majstra
nič zaväzovať, pracovný adresár čistý

$git log --jedna čiara
46539a3 C5: Zlúčiť vetvu'Vlastnosti'
2031b83 C4: Master upravený
93d220b C3: Funkcia2
ad6ddb9 C2: Funkcia1
1c0b64c C1: Predložený kód
ec0fb48 C0: Začatý projekt

Zmeny ste úspešne zlúčili. Funkčná vetva však stále existuje.

$git pobočka -do
Vlastnosti
*majster

Môžete ho odstrániť pomocou nasledujúceho príkazu:

$git pobočka -dVlastnosti

Ak to začiarknete teraz, mala by sa vám zobraziť iba hlavná vetva:

$git pobočka -do
*majster

Záver

Uistite sa, že pravidelne kontrolujete nepoužívané vetvy a odstraňujete ich. Chcete udržať svoje úložisko čisté, aby sa v ňom dalo ľahko orientovať a porozumieť mu.

Ďalšie čítanie: