Git

„Git Branch“ pagrindai

„Git Branch“ pagrindai

„Git“ filialo pagrindai

Gebėjimas lengvai išsišakoti yra viena geriausių „Git“ savybių. Filialų kūrimas kitose versijų valdymo sistemose gali būti brangus, atsižvelgiant į vietos ir apdorojimo reikalavimus. Gito šakojimas yra efektyvus. Taigi vartotojai labiau linkę naudoti filialus „Git“.

Šakojanti darbo eiga

Tarkime, kad jūs pradėjote naują projektą „myvideogame“. Jis turi vieną šaką. Numatytasis pradinio filialo pavadinimas „Git“ yra vadinamas pagrindinis. Jis sukuriamas automatiškai.  Sukurkime „myvideogame Git“ saugyklą.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Sukūrėte tuščią „Git“ saugyklą. Pridėkime savo dizainą.txt failas su jame esančiu tekstu.

$ echo „1 dizaino sprendimas: pridėti vaizdų“ >> dizainas.txt
$ echo „Dizaino sprendimas 2: Rašyti kodą“ >> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C0: pridėta dizaino byla"

Leidžia pridėti dar keletą pakeitimų:

$ echo „3 dizaino sprendimas: bandomasis žaidimas“ >> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C1: modifikuotas dizaino failas"

Jei patikrinsite istoriją, rasite:

$ git žurnalas - tiesioginis
6a09bd6 C1: modifikuota dizaino byla
5f18d89 C0: pridėta dizaino byla

Jei patikrinsite „Git“ būseną ir visas sukurtas šakas (naudodami komandą: git branch -a), pamatysite:

$ git būsena
Filialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
 
$ git filialas -a
* meistras

Šiuo metu turite tokią situaciją:

Pagrindiniame filiale atlikote du įsipareigojimus.

Tarkime, kad žaidimo testavime radote klaidų, tačiau nenorite išspręsti problemos pagrindiniame filiale, nes dar nenorite maišytis su originaliu dizainu. Taigi galite sukurti naują filialą, vadinamą klaidų taisymu:

$ git filialo klaidų taisymas

Dabar, jei patikrinsite visus filialus:

$ git filialas -a
Klaidos ištaisymas
* meistras

Dabar jūs sukūrėte naują filialą, vadinamą klaidų taisymu. Situaciją galima vizualizuoti taip:

Tačiau žvaigždė (*) šalia pagrindinės šakos reiškia, kad jūs vis dar esate šeimininke. Jei atliksite pakeitimus, jis vis tiek pateks į pagrindinį filialą. Norėdami pakeisti filialus, galite naudoti komandą „Checkout“:

„$ git“ kasos klaidų taisymas
Perjungta į šakos „klaidų taisymas“

Galite patikrinti, kurį filialą naudojate, naudodami būseną arba komandą „filialas -a“:

$ git būsena
Šakos klaidų taisymas
nieko neįsipareigoti, darbo katalogas švarus
 
$ git filialas -a
* Klaidos ištaisymas
meistras

Dabar pataisykime klaidą:

$ echo „Bug Fix 1“ >> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C2: 1 ištaisyta klaida"

Jūs sukūrėte tokią situaciją:

Pagrindinis filialas neturi C2 pakeitimo. Tai galite lengvai patikrinti, patikrinę dviejų šakų istoriją.

Pirma, klaidų taisymo šakos istorija:

$ git būsena
Šakos klaidų taisymas
nieko neįsipareigoti, darbo katalogas švarus
 
$ git žurnalas - tiesioginis
„e8f615b C2“: ištaisyta klaida 1
6a09bd6 C1: modifikuota dizaino byla
5f18d89 C0: pridėta dizaino byla

Tada galite pereiti prie pagrindinio filialo ir patikrinti jo istoriją:

$ git atsiskaitymo meistras
Perjungtas į filialo „master“
 
$ git būsena
Filialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
 
$ git žurnalas - tiesioginis
6a09bd6 C1: modifikuota dizaino byla
5f18d89 C0: pridėta dizaino byla

Matote, kad pagrindiniame filiale nėra klaidų taisymo šakos pakeitimų.

Visada galite sukurti naują filialą iš dabartinio filialo, kuriame esate. Tarkime, kad norite sukurti kitą šaką, kurioje bus eksperimentinių funkcijų. Filialą galite sukurti iš „Master“ ir pridėti prie jo eksperimentinių funkcijų:

$ git būsena
Filialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
 
$ git filialas eksperimentinis
eksperimentinis „$ git“ atsiskaitymas
Perjungtas į filialą „eksperimentinis“
$ git būsena
Šakoje eksperimentinis
nieko neįsipareigoti, darbo katalogas švarus
 
$ echo „Eksperimento funkcijų pridėjimas“ >> dizainas.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m "C3: pridėtos eksperimentinės funkcijos"
[eksperimentinis 637bc20] C3: pridėtos eksperimentinės savybės
1 failas pakeistas, 1 įterpimas (+)

Jei patikrinsite eksperimentinio filialo istoriją, pamatysite:

$ git būsena
Šakoje eksperimentinis
nieko neįsipareigoti, darbo katalogas švarus
 
$ git žurnalas - tiesioginis
637bc20 C3: pridėtos eksperimentinės funkcijos
6a09bd6 C1: modifikuota dizaino byla
5f18d89 C0: pridėta dizaino byla

Pastebėsite, kad neturite C2 įsipareigojimo, kuris buvo sukurtas klaidų taisymo šakoje. Kadangi eksperimentinė šaka sukurta iš pagrindinės šakos, ji nemato klaidų taisymo. Turite tokią situaciją:

Išvada

Sveikiname! Jūs išmokote šakotis.

Git filialus lengva ir greitai padaryti. Tai viena iš Gito populiarumo priežasčių. Jei norite tapti įgudusiu „Git“ vartotoju, turite mokėti „Git“ šakotis.

Tolesnis tyrimas:

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

Pelės kairiuoju pelės mygtuku mygtukas neveikia „Windows 10“
Jei naudojate specialią pelę su savo nešiojamuoju kompiuteriu arba staliniu kompiuteriu, tačiau neveikia pelės kairysis mygtukas dėl tam tikrų priežas...
Žymeklis peršoka arba juda atsitiktinai, kai rašote „Windows 10“
Jei pastebite, kad pelės žymeklis peršoka arba juda pats, automatiškai, atsitiktinai, kai vedate „Windows“ nešiojamąjį kompiuterį ar kompiuterį, kai k...
Kaip pakeisti pelės ir jutiklinių plokščių slinkimo kryptį sistemoje „Windows 10“
Pelė ir Jutiklinė dalisTai ne tik palengvina skaičiavimus, bet ir efektyvesnį bei mažiau laiko reikalaujantį. Mes neįsivaizduojame gyvenimo be šių pri...