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 --oneline6a09bd6 C1: Spremenjena datoteka oblikovanja
5f18d89 C0: Dodana oblikovalska datoteka
Če preverite stanje Git in vse ustvarjene veje (z ukazom: git branch -a), vidite:
$ git statusNa 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 vejZdaj, če preverite vse podružnice:
$ git podružnica -apopravek 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 bugfixPreklopljeno na vejo 'popravek napak'
Katero vejo uporabljate lahko preverite z ukazom status ali “branch -a”:
$ git statusNa 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 statusNa 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 masterPreklopljeno 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 statusNa 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 statusNa 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