Git

Osnove Git Brancha

Osnove Git Brancha

Osnove grananja Git-a

Sposobnost jednostavnog grananja jedna je od najboljih karakteristika Gita. Stvaranje grana u drugim sustavima za upravljanje verzijama može biti skupo u smislu prostora i zahtjeva obrade. Git grananje je učinkovito. Tako su korisnici skloniji korištenju grana u Gitu.

Tok grananja

Pretpostavimo da ste započeli novi projekt koji se zove myvideogame. Ima jednu granu. Zadani naziv početne grane u Gitu naziva se master. Automatski se stvara.  Stvorimo myvideogame Git spremište.

$ mkdir mojavideo igra
$ cd mojavideo igra
$ git init

Stvorili ste prazno Git spremište. Dodajmo svoj dizajn.txt datoteku s nekim tekstom.

$ echo "Odluka o dizajnu 1: Dodaj slike" >> dizajn.txt
$ echo "Odluka o dizajnu 2: Napiši kod" >> dizajn.txt
$ git dodaj -A
$ git commit -m "C0: Dodana datoteka dizajna"

Dopustite da dodamo još neke promjene:

$ echo "Odluka o dizajnu 3: Test igra" >> dizajn.txt
$ git dodaj -A
$ git commit -m "C1: Izmijenjena datoteka dizajna"

Ako provjerite povijest, pronaći ćete:

$ git log --oneline
6a09bd6 C1: Izmijenjena datoteka dizajna
5f18d89 C0: Dodana datoteka dizajna

Ako provjerite Git status i sve grane koje su stvorene (pomoću naredbe: git branch -a), vidjet ćete:

$ git status
Na majstoru grane
ništa za obvezivanje, radni direktorij čist
 
$ git grana -a
* ovladati; majstorski

Trenutno imate sljedeću situaciju:

Napravili ste dva urezivanja u glavnoj grani.

Pretpostavimo da ste pronašli greške u testiranju igara, ali ne želite riješiti problem u glavnoj grani jer se još ne želite petljati s izvornim dizajnom. Tako možete stvoriti novu granu koja se naziva bugfix:

$ git ispravka ispravke grane

Ako provjerite sve grane:

$ git grana -a
ispravka programskih pogrešaka
* ovladati; majstorski

Sada ste stvorili novu granu pod nazivom bugfix. Situacija se može vizualizirati na sljedeći način:

Međutim, zvijezda (*) pored glavne grane znači da ste još uvijek u glavnoj grani. Ako napravite promjene, i dalje će ići u glavnu granu. Naredbu checkout možete koristiti za promjenu grana:

Ispravak programske opreme $ git checkout
Prebačeno na granu 'ispravka ispravka'

Možete provjeriti koju granu koristite pomoću naredbe statusa ili “branch -a”:

$ git status
Na ispravku ispravka grana
ništa za obvezivanje, radni direktorij čist
 
$ git grana -a
* ispravka programske pogreške
ovladati; majstorski

Sada, popravimo grešku:

$ echo "Ispravak grešaka 1" >> dizajn.txt
$ git dodaj -A
$ git commit -m "C2: Ispravljena greška 1"

Stvorili ste ovakvu situaciju:

Glavna grana nema promjenu C2. To možete lako provjeriti provjerom povijesti dviju grana.

Prvo, povijest grane ispravka:

$ git status
Na ispravku ispravka grana
ništa za obvezivanje, radni direktorij čist
 
$ git log --oneline
e8f615b C2: Ispravljena greška 1
6a09bd6 C1: Izmijenjena datoteka dizajna
5f18d89 C0: Dodana datoteka dizajna

Tada se možete prebaciti na glavnu granu i provjeriti njezinu povijest:

$ git checkout master
Prebačeno na granu 'master'
 
$ git status
Na majstoru grane
ništa za obvezivanje, radni direktorij čist
 
$ git log --oneline
6a09bd6 C1: Izmijenjena datoteka dizajna
5f18d89 C0: Dodana datoteka dizajna

Možete vidjeti da glavna grana nema promjene iz grane ispravka ispravka.

Uvijek možete stvoriti novu granu iz trenutne grane u kojoj se nalazite. Pretpostavimo da želite stvoriti drugu granu koja će sadržavati eksperimentalne značajke. Možete stvoriti granu od master i dodati joj eksperimentalne značajke:

$ git status
Na majstoru grane
ništa za obvezivanje, radni direktorij čist
 
$ git grana eksperimentalno
$ git checkout eksperimentalno
Prebačeno na granu "eksperimentalno"
$ git status
Na grani eksperimentalno
ništa za obvezivanje, radni direktorij čist
 
$ echo "Dodavanje značajki eksperimenta" >> dizajn.txt
 
$ git dodaj -A
 
$ git commit -m "C3: Dodane eksperimentalne značajke"
[eksperimentalno 637bc20] C3: Dodane eksperimentalne značajke
1 datoteka promijenjena, 1 umetanje (+)

Ako provjerite povijest eksperimentalne grane, vidjet ćete:

$ git status
Na grani eksperimentalno
ništa za obvezivanje, radni direktorij čist
 
$ git log --oneline
637bc20 C3: Dodane eksperimentalne značajke
6a09bd6 C1: Izmijenjena datoteka dizajna
5f18d89 C0: Dodana datoteka dizajna

Primijetit ćete da nemate predaje C2 koja je kreirana u grani s ispravcima programskih pogrešaka. Budući da je eksperimentalna grana stvorena od glavne grane, ona ne vidi promjene ispravka pogrešaka. Imate sljedeću situaciju:

Zaključak

Čestitamo! Naučili ste kako se granati.

Git grane lako je i brzo napraviti. To je jedan od razloga Gitove popularnosti. Ako želite postati vješti korisnik Gita, morate postati vješt u grananju Gita.

Daljni studiji:

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

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...