Git

Osnove združevanja in brisanja vej Git

Osnove združevanja in brisanja vej Git
Razvejanje vam lahko pomaga organizirati delo. Vendar pa morate biti sposobni združiti svoje delo, da bo delo skladno. Če nikoli ne združite in izbrišete vej, bo vaša zgodovina morda postala preveč kaotična, da bi jo lahko razumeli.

Delo z združevanjem in brisanjem vej

Najprej ustvarimo glavno vejo, vstavimo nekaj zavez, ustvarimo novo podružnico, imenovano lastnosti, dodamo nekaj ukazov, nato se vrnemo k nadrejanju in znova potrdimo. Tu so ukazi:

$ mkdir moja igra
$ cd moja igra
$ git init
$ echo "Odločitev o oblikovanju 1: Brainstarm" >> oblikovanje.txt
$ git add -A
$ git commit -m "C0: Začeti projekt"
$ echo "Odločitev o oblikovanju 2: Napiši kodo" >> oblikovanje.txt
$ git add -A
$ git commit -m "C1: Predložena koda"
Značilnosti podružnice $ git
$ git checkout funkcije
$ echo "Dodaj funkcijo 1" >> funkcija.txt
$ git add -A
$ git commit -m "C2: Funkcija 1"
$ echo "Add Feature 2" >> funkcija.txt
$ git add -A
$ git commit -m "C3: Funkcija 2"
$ git checkout master
$ echo "Ponovno spreminjanje glavnega" >> oblikovanje.txt
$ git add -A
$ git commit -m "C4: Spremenjen glavni"

Zgornji ukazi so ustvarili to situacijo:

Ogledate si lahko zgodovino obeh podružnic, da vidite, katere obveznosti imajo:

$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist
$ git log --oneline
2031b83 C4: Spremenjen glavni
1c0b64c C1: Oddana koda
 
$ git checkout funkcije
Preklopljeno na "funkcije" veje
 
$ git log --oneline
93d220b C3: Funkcija 2
ad6ddb9 C2: Funkcija 1
1c0b64c C1: Oddana koda
ec0fb48 C0: Začeti projekt

Zdaj predpostavimo, da želite vse spremembe iz veje lastnosti 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 začeti od tam. Preverimo torej glavno vejo:

$ git checkout master
Preklopljeno na vejo 'master'
 
$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist

Zdaj pa ustvarimo spajanje:

$ git merge funkcije

Če v združitvi ni nobenih konfliktov, se odpre urejevalnik besedil s komentarji:

Spoji veje 'lastnosti'
 
# Prosimo, vnesite sporočilo za objavo, da razložite, zakaj je ta združitev potrebna,
# še posebej, če združi posodobljeno upstream v vejo teme.
#
# Vrstice, ki se začnejo z '#', bodo prezrte in prazno sporočilo se bo prekinilo
# zaveza.

Komentarje lahko spremenite ali sprejmete privzete. Izhod za spajanje mora prikazati rezultate, kot je ta:

Združitev, narejena s "rekurzivno" strategijo.
funkcija.txt | 2 ++
1 datoteka spremenjena, 2 vstavki (+)
ustvari način 100644.txt

Po združitvi imate naslednji pogoj:

Če preverite dnevnike, boste našli:

$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist
 
$ git log --oneline
46539a3 C5: Spajanje vej 'lastnosti'
2031b83 C4: Spremenjen glavni
93d220b C3: Funkcija 2
ad6ddb9 C2: Funkcija 1
1c0b64c C1: Oddana koda
ec0fb48 C0: Začeti projekt

Spremembe ste uspešno združili. Vendar je veja funkcij še vedno prisotna.

$ git podružnica -a
Lastnosti
* mojster

Izbrišete ga lahko z naslednjim ukazom:

$ git funkcije -d

Če preverite zdaj, boste videli samo glavno vejo:

$ git podružnica -a
* mojster

Zaključek

Redno preverjajte, ali so na voljo neuporabljene veje, in jih brišite. Če želite, da je vaše skladišče čisto, da bo lažje krmariti in razumeti.

Nadaljnje branje:

Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...