Delo z združevanjem in brisanjem vej
Najprej ustvarimo glavno vejo, vstavimo nekaj oddaj, ustvarimo novo vejo, imenovano funkcije, dodamo nekaj oddaj, nato pa se vrnemo k gospodarju in se znova zavežemo. Tu so ukazi:
$mkdirmoja igra
$CDmoja igra
$git init
$vrgel ven „Odločitev o oblikovanju 1: Brainstarm“ >>design.txt
$git add -TO
$git commit -m 'C0: Začetek projekta'
$vrgel ven „Odločitev o načrtovanju 2: Napišite kodo“ >>design.txt
$git add -TO
$git commit -m 'C1: Oddana koda'
$git vejaLastnosti
$git checkoutLastnosti
$vrgel ven 'Dodaj funkcijo 1' >>feature.txt
$git add -TO
$git commit -m 'C2: 1. funkcija'
$vrgel ven 'Dodaj funkcijo 2' >>feature.txt
$git add -TO
$git commit -m 'C3: 2. funkcija'
$git checkoutmojster
$vrgel ven 'Ponovno spreminjanje mojstra' >>design.txt
$git add -TO
$git commit -m 'C4: Glavni spremenjen'
Zgornji ukazi so ustvarili naslednjo situacijo:
V zgodovini obeh vej lahko preverite, katere zaveze imata:
$git status
Na gospodarju podružnice
nič za zavezo, delovni imenik čist
$git log --oneline
2031b83 C4: Spremenjen glavni
1c0b64c C1: Oddana koda
$git checkoutLastnosti
Preklopljeno na podružnico'Lastnosti'
$git log --oneline
93d220b C3: Lastnost2
ad6ddb9 C2: Funkcija1
1c0b64c C1: Oddana koda
ec0fb48 C0: Začetek projekta
Recimo, da želite vse spremembe iz veje funkcij prenesti v našo glavno vejo. Postopek boste morali začeti od cilja združitve. Ker se želimo združiti v glavno vejo, morate postopek sprožiti od tam. Pa poglejmo glavno vejo:
$git checkoutmojsterPreklopljeno na podružnico'mojster'
$git status
Na gospodarju podružnice
nič za zavezo, delovni imenik čist
Zdaj ustvarimo združitev:
$git mergeLastnosti
Če pri združevanju ni sporov, se odpre urejevalnik besedil s komentarji:
Združi podružnico'Lastnosti'# Prosimo, vnesite sporočilo o predaji, da pojasnite, zakaj je to združevanje potrebno,
# še posebej, če združi posodobljeno upstream v vejo teme.
#
# Vrstice, ki se začnejo z '#', bodo prezrte, prazno sporočilo pa se prekine
# zaveza.
Komentare lahko spremenite ali sprejmete privzete. Izhod združevanja bi moral pokazati take rezultate:
Združitev je naredil'rekurzivno'strategijo.feature.txt| 2++
1 mapaspremenjeno,2vstavki(+)
način ustvarjanja100644feature.txt
Po združitvi imate naslednji pogoj:
Če pregledate dnevnike, boste našli:
$git statusNa gospodarju podružnice
nič za zavezo, delovni imenik čist
$git log --oneline
46539a3 C5: Združite vejo'Lastnosti'
2031b83 C4: Spremenjen glavni
93d220b C3: Lastnost2
ad6ddb9 C2: Funkcija1
1c0b64c C1: Oddana koda
ec0fb48 C0: Začetek projekta
Uspešno ste združili spremembe. Vendar je veja funkcij še vedno prisotna.
$git veja -zaLastnosti
*mojster
Izbrišete ga lahko z naslednjim ukazom:
$git veja -dLastnostiČe preverite zdaj, bi morali videti samo glavno vejo:
$git veja -za*mojster
Zaključek
Redno preverjajte, ali so veje neuporabljene, in jih izbrišite. Svoje skladišče želite ohraniti čistim, da boste lažje krmarili in razumeli.