Osnove združevanja in brisanja vej Git

Basics Git Merging



Podružnice vam lahko pomagajo pri organiziranju dela. Vendar pa morate biti sposobni združiti svoje delo, da bo delo skladno. Če vej nikoli ne združite in ne izbrišete, bo vaša zgodovina postala preveč kaotična za razumevanje.

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 checkoutmojster
Preklopljeno 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 status
Na 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 -za
Lastnosti
*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.

Nadaljnje branje: