Git

Osnove Git Branch

Osnove Git Branch

Osnove razvejanja Git

Sposobnost enostavnega razvejanja je ena najboljših lastnosti Gita. Ustvarjanje podružnic v drugih sistemih za nadzor različic je lahko drago glede prostora in zahtev glede obdelave. Razvejanje gitov je učinkovito. Uporabniki so torej bolj nagnjeni k uporabi podružnic v Gitu.

Tok razvejanja

Recimo, da ste začeli nov projekt, imenovan myvideogame. Ima eno samo podružnico. Privzeto ime začetne veje v Gitu se imenuje master. Ustvari se samodejno.  Ustvarimo shrambo myvideogame Git.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Ustvarili ste prazno shrambo Git. Dodajmo še naš dizajn.txt z nekaj besedila.

$ echo "Odločitev o oblikovanju 1: Dodaj slike" >> oblikovanje.txt
$ echo "Odločitev o oblikovanju 2: Napiši kodo" >> oblikovanje.txt
$ git add -A
$ git commit -m "C0: Dodana datoteka oblikovanja"

Naj dodamo še nekaj sprememb:

$ echo "Odločitev o oblikovanju 3: preizkusna igra" >> oblikovanje.txt
$ git add -A
$ git commit -m "C1: Spremenjena datoteka oblikovanja"

Če preverite zgodovino, boste našli:

$ git log --oneline
6a09bd6 C1: Spremenjena datoteka oblikovanja
5f18d89 C0: Dodana oblikovalska datoteka

Če preverite stanje Git in vse ustvarjene veje (z ukazom: git branch -a), vidite:

$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist
 
$ git podružnica -a
* mojster

Trenutno imate naslednje stanje:

V glavni veji ste naredili dva prevoda.

Recimo, da ste med preizkušanjem iger našli napake, vendar težave ne želite odpraviti v glavni veji, ker se še ne želite zapletati v prvotni dizajn. Tako lahko ustvarite novo vejo, imenovano bugfix:

$ git popravek vej

Zdaj, če preverite vse podružnice:

$ git podružnica -a
popravek napak
* mojster

Zdaj ste ustvarili novo vejo, imenovano buxfix. Situacijo si lahko predstavimo tako:

Vendar zvezdica (*) poleg glavne veje pomeni, da ste še vedno v glavni. Če naredite spremembe, bo še vedno šel v glavno vejo. Za spreminjanje vej lahko uporabite ukaz checkout:

$ git checkout bugfix
Preklopljeno na vejo 'popravek napak'

Katero vejo uporabljate lahko preverite z ukazom status ali “branch -a”:

$ git status
Na popravku vej
nič za zavezati, delovni imenik čist
 
$ git podružnica -a
* popravek napak
mojster

Zdaj pa popravimo napako:

$ echo "Fix 1" >> oblikovanje.txt
$ git add -A
$ git commit -m "C2: odpravljena napaka 1"

Ustvarili ste takšno situacijo:

Glavna veja nima spremembe C2. To lahko enostavno preverite tako, da preverite zgodovino obeh vej.

Najprej zgodovina veje popravkov:

$ git status
Na popravku vej
nič za zavezati, delovni imenik čist
 
$ git log --oneline
e8f615b C2: odpravljena napaka 1
6a09bd6 C1: Spremenjena datoteka oblikovanja
5f18d89 C0: Dodana oblikovalska datoteka

Nato lahko preklopite na glavno vejo in preverite njeno zgodovino:

$ git checkout master
Preklopljeno na vejo 'master'
 
$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist
 
$ git log --oneline
6a09bd6 C1: Spremenjena datoteka oblikovanja
5f18d89 C0: Dodana oblikovalska datoteka

Vidite lahko, da glavna veja nima sprememb v veji popravkov.

Vedno lahko ustvarite novo vejo iz trenutne veje, v kateri se nahajate. Recimo, da želite ustvariti drugo vejo, ki bo vsebovala eksperimentalne funkcije. Podružnico lahko ustvarite iz glavnega in ji dodate eksperimentalne funkcije:

$ git status
Na poveljniku podružnice
nič za zavezati, delovni imenik čist
 
$ git podružnica eksperimentalna
$ git checkout eksperimentalno
Preklopljeno na vejo "eksperimentalno"
$ git status
Na podružnici eksperimentalno
nič za zavezati, delovni imenik čist
 
$ echo "Dodajanje eksperimentalnih funkcij" >> oblikovanje.txt
 
$ git add -A
 
$ git commit -m "C3: dodane eksperimentalne funkcije"
[eksperimentalno 637bc20] C3: dodane eksperimentalne funkcije
1 datoteka spremenjena, 1 vstavitev (+)

Če preverite zgodovino poskusne podružnice, boste videli:

$ git status
Na podružnici eksperimentalno
nič za zavezati, delovni imenik čist
 
$ git log --oneline
637bc20 C3: dodane eksperimentalne funkcije
6a09bd6 C1: Spremenjena datoteka oblikovanja
5f18d89 C0: Dodana oblikovalska datoteka

Opazili boste, da nimate zaveze C2, ki je bila ustvarjena v veji popravkov. Ker je eksperimentalna veja ustvarjena iz glavne veje, sprememb popravkov napak ne vidi. Imate naslednjo situacijo:

Zaključek

Vse čestitke! Naučili ste se veje.

Git veje je enostavno in hitro izdelati. To je eden od razlogov za priljubljenost Gita. Če želite postati usposobljeni uporabnik Git-a, morate postati usposobljeni za razvejanje Git-a.

Nadaljni študij:

https: // git-scm.com / book / sl / v2 / Git-Branching-Basic-Branching-and-Merging

HD Remastered Games za Linux, ki prej še niso izdale Linuxa
Mnogi razvijalci iger in založniki pripravijo HD remaster starih iger, da podaljšajo življenjsko dobo franšize, zato oboževalci zahtevajo združljivost...
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...