Git

Git filiāles pamati

Git filiāles pamati

Git filiāles pamati

Spēja viegli sazaroties ir viena no labākajām Git īpašībām. Filiāļu izveidošana citās versiju vadības sistēmās var būt dārga vietas un apstrādes prasību ziņā. Git atzarošana ir efektīva. Tāpēc lietotāji ir vairāk pakļauti filiāļu izmantošanai Git.

Atzarojoša darbplūsma

Pieņemsim, ka jūs sākāt jaunu projektu ar nosaukumu myvideogame. Tam ir viena filiāle. Sākotnējās filiāles noklusējuma nosaukumu Git sauc par galveno. Tas tiek automātiski izveidots.  Izveidosim myvideogame Git repozitoriju.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Jūs esat izveidojis tukšu Git repozitoriju. Pievienosim savu dizainu.txt fails ar tajā tekstu.

$ echo "1. dizaina lēmums: pievienot attēlus" >> dizains.txt
$ echo "Dizaina lēmums 2: Rakstīt kodu" >> dizains.txt
$ git pievienot -A
$ git saistīt -m "C0: pievienots noformējuma fails"

Ļauj pievienot vēl dažas izmaiņas:

$ echo "Dizaina lēmums 3: Pārbaudes spēle" >> dizains.txt
$ git pievienot -A
$ git pühend -m "C1: modificēts noformējuma fails"

Pārbaudot vēsturi, jūs atradīsit:

$ git log - tiešsaistē
6a09bd6 C1: Modificēts noformējuma fails
5f18d89 C0: Pievienots noformējuma fails

Pārbaudot Git statusu un visas izveidotās filiāles (izmantojot komandu: git branch -a), redzat:

$ git statuss
Uz filiāles kapteini
neko apņemties, darba katalogs tīrs
 
$ git filiāle -a
* meistars

Pašlaik jums ir šāda situācija:

Jūs esat veicis divas saistības galvenajā filiālē.

Pieņemsim, ka spēļu pārbaudē esat atradis kļūdas, taču nevēlaties risināt šo problēmu galvenajā filiālē, jo vēl nevēlaties sajaukt ar sākotnējo dizainu. Tātad jūs varat izveidot jaunu filiāli ar kļūdu labojumu:

$ git filiāles kļūdu labojums

Ja pārbaudīsit visas filiāles:

$ git filiāle -a
kļūdas labojums
* meistars

Tagad esat izveidojis jaunu filiāli ar kļūdu labojumu. Situāciju var vizualizēt šādi:

Tomēr zvaigzne (*) blakus meistara atzaram nozīmē, ka jūs joprojām esat saimniekā. Ja veicat izmaiņas, tas joprojām nonāks galvenajā nozarē. Lai mainītu filiāles, varat izmantot komandu Checkout:

$ git izrakstīšanās kļūdu labojums
Pārslēgts uz atzaru “kļūdu labojums”

Jūs varat pārbaudīt izmantoto filiāli ar statusu vai komandu “branch -a”:

$ git statuss
Uz filiāles kļūdu labojums
neko apņemties, darba katalogs tīrs
 
$ git filiāle -a
* kļūdas labojums
meistars

Labosim kļūdu:

$ echo "Bug Fix 1" >> dizains.txt
$ git pievienot -A
$ git sitout -m "C2: Kļūda novērsta 1"

Jūs esat izveidojis šādu situāciju:

Galvenajā filiālē nav izmaiņu C2. To var viegli pārbaudīt, pārbaudot divu filiāļu vēsturi.

Pirmkārt, kļūdu labojumu filiāles vēsture:

$ git statuss
Uz filiāles kļūdu labojums
neko apņemties, darba katalogs tīrs
 
$ git log - tiešsaistē
e8f615b C2: Kļūda novērsta 1
6a09bd6 C1: Modificēts noformējuma fails
5f18d89 C0: Pievienots noformējuma fails

Tad jūs varat pārslēgties uz galveno filiāli un pārbaudīt tā vēsturi:

$ git norēķinu meistars
Pārslēgts uz filiāli “kapteinis”
 
$ git statuss
Uz filiāles kapteini
neko apņemties, darba katalogs tīrs
 
$ git log - tiešsaistē
6a09bd6 C1: Modificēts noformējuma fails
5f18d89 C0: Pievienots noformējuma fails

Var redzēt, ka galvenajā filiālē nav kļūdu labojumu filiāles izmaiņu.

Jūs vienmēr varat izveidot jaunu filiāli no pašreizējās filiāles, kurā atrodaties. Pieņemsim, ka vēlaties izveidot citu filiāli, kurā būs eksperimentālas funkcijas. Jūs varat izveidot filiāli no galvenā un pievienot tam eksperimentālas funkcijas:

$ git statuss
Uz filiāles kapteini
neko apņemties, darba katalogs tīrs
 
$ git filiāle eksperimentāla
Eksperimentāls norēķināšanās ar $ git
Pārslēgts uz filiāli “eksperimentāls”
$ git statuss
Uz filiāles eksperimentāls
neko apņemties, darba katalogs tīrs
 
$ echo "Eksperimenta funkciju pievienošana" >> dizains.txt
 
$ git pievienot -A
 
$ git sitout -m "C3: pievienotas eksperimentālās funkcijas"
[eksperimentāls 637bc20] C3: pievienotas eksperimentālās funkcijas
1 fails mainīts, 1 ievietots (+)

Pārbaudot eksperimentālās filiāles vēsturi, redzēsiet:

$ git statuss
Uz filiāles eksperimentāls
neko apņemties, darba katalogs tīrs
 
$ git log - tiešsaistē
637bc20 C3: pievienotās eksperimentālās funkcijas
6a09bd6 C1: Modificēts noformējuma fails
5f18d89 C0: Pievienots noformējuma fails

Jūs ievērosiet, ka jums nav C2 saistību, kas tika izveidota kļūdu labojumu filiālē. Tā kā eksperimentālā filiāle tiek veidota no galvenā filiāles, tajā netiek novērotas kļūdu labojumu izmaiņas. Jums ir šāda situācija:

Secinājums

Apsveicu! Jūs esat iemācījušies sazaroties.

Git filiāles ir viegli un ātri izgatavojamas. Tas ir viens no Gita popularitātes cēloņiem. Ja vēlaties kļūt par prasmīgu Git lietotāju, jums jāapgūst Git atzarošana.

Turpmāka izpēte:

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

OpenTTD vs Simutrans
Transporta simulācijas izveide var būt jautra, relaksējoša un ārkārtīgi vilinoša. Tāpēc jums jāpārliecinās, ka izmēģināt pēc iespējas vairāk spēļu, la...
OpenTTD apmācība
OpenTTD ir viena no populārākajām biznesa simulācijas spēlēm. Šajā spēlē jums ir jāizveido brīnišķīgs transporta bizness. Tomēr jūs sāksit sākumā apmē...
SuperTuxKart operētājsistēmai Linux
SuperTuxKart ir lielisks nosaukums, kas paredzēts, lai sniegtu jums Mario Kart pieredzi bez maksas jūsu Linux sistēmā. Tas ir diezgan izaicinoši un ja...