Šajā nodarbībā mēs rīkosimies šādi:
- Izveidojiet attālo repozitoriju
- Izveidojiet attālās repozitorija lokālu kopiju
- Vietējā kopijā izveidojiet divas filiāles
- Pabīdiet vienu filiāli uz attālo krātuvi
- Dzēst vietējās filiāles
- Dzēst attālās filiāles
Nodarbībai ir jāsniedz vispārēja izpratne par filiāles izveidošanas un dzēšanas procesu, tāpēc jums ir laba komanda pār nepieciešamajām darbībām, kad nepieciešams izdzēst vietējo vai attālo filiāli.
Sāksim.
1. Attālās krātuves izveide
Izveidosim mapi ar nosaukumu projekts.git un inicializējiet kā attālo repozitoriju:
$ mkdir projekts.git$ cd projekts.git
$ git init -bare
Inicializēta tukša Git krātuve mapē / Lietotāji / zak / _work / LearnGIT / git_delete_branch / project.git /
2. Attālās krātuves vietējās kopijas izveidošana
Jaunā vietā izveidosim attālās repozitorija vietējo kopiju project_local, izmantojot komandu clone.
Piezīme. Ja strādājat ar GitHub vai BitBucket, veiciet to pašu procesu, lai klonētu repozitoriju. Tādā gadījumā jums būs SSH saite, nevis pilns šeit izmantotais faila ceļš.
$ git clone / Lietotāji / zak / _work / LearnGIT / git_delete_branch / project.git project_localKlonēšana mapē “project_local”…
brīdinājums: Šķiet, ka esat klonējis tukšu krātuvi.
izdarīts.
3. Nozaru izveidošana lokālās kopijas iekšpusē
Vispirms pievienosim failu vietējai kopijai un pēc tam virzīsim to uz attālo repozitoriju:
$ cd project_local$ pieskarieties ReadMe.txt
$ git pievienot -A
$ git saistīt -m "Moduļa inicializēšana"
[master (root-toime) 81eb2a3] Moduļa inicializēšana
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 ReadMe.txt
$ git push izcelsmes meistars
Objektu skaitīšana: 3, izdarīts.
Objektu rakstīšana: 100% (3/3), 221 baiti | 0 baiti / s, pabeigts.
Kopā 3 (delta 0), atkārtoti izmantota 0 (delta 0)
To / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [jaunā filiāle] meistars -> meistars
Iepriekš minētajās komandās mēs izveidojām failu ar nosaukumu ReadMe.txt, pievienoja to vietējai kopijai, piesaistīja vietējai kopijai un pēc tam nospieda izmaiņas attālajā repozitorijā vai izcelsmes galvenajā filiālē.
Pārbaudot filiāles, vietējā kopijā redzēsit galveno filiāli:
$ git filiāle* meistars
Pārbaudot attālās filiāles, tur redzēsit arī galveno filiāli:
$ git filiāle -rizcelsme / meistars
Padoms. Varat izmantot opciju '-a', lai kopā skatītu visas filiāles vietējos un attālos krātuvēs.
$ git filiāle -a* meistars
pulti / izcelsme / kapteinis
Izveidosim divas galvenās filiāles ar nosaukumu b1 un b2:
$ git filiāle b1$ git filiāle b2
Pārbaudīsim, vai filiāles ir izveidotas:
$ git filiāleb1
b2
* meistars
Tagad mēs veiksim dažas izmaiņas filiālēs:
$ git izrakstīšanās b1Pārslēgts uz filiāli “b1”
$ touch filiāle.txt
$ git pievienot -A
$ git saistīt -m "Filiāles1 modifikācija"
[b1 a2f488e] Nozares1 modifikācija
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 filiāle1.txt
$ git izrakstīšanās b2
Pārslēgts uz filiāli “b2”
$ touch filiāle2.txt
$ git pievienot -A
$ git saistīt -m "2. filiāles modifikācija"
[b2 2abb723] Nozares2 modifikācija
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 filiāle2.txt
Pārbaudīsim vietējo un attālo filiāļu statusus:
$ git filiāleb1
* b2
meistars
$ git filiāle -r
izcelsme / meistars
Mēs varam redzēt, ka mums ir trīs filiāļu meistars, b1 un b2. Bet mums ir tikai galvenā filiāle attālajā krātuvē.
4. Nozaru virzīšana uz attālo krātuvi
Pabīdīsim filiāli b1 uz attālo krātuvi:
$ git push izcelsme b1Objektu skaitīšana: 2, izdarīts.
Delta saspiešana, izmantojot līdz 4 pavedieniem.
Objektu saspiešana: 100% (2/2), izdarīts.
Rakstot objektus: 100% (2/2), 249 baiti | 0 baiti / s, pabeigts.
Kopā 2 (delta 0), atkārtoti izmantota 0 (delta 0)
To / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [jauna filiāle] b1 -> b1
Varat pārbaudīt vietējās un attālās filiāles statusus:
$ git filiāleb1
* b2
meistars
$ git filiāle -r
izcelsme / b1
izcelsme / meistars
No iepriekš minētajiem filiāles statusiem mēs varam redzēt, ka b1 filiāle ir pieejama arī attālināti.
5. Filiāļu dzēšana lokāli
Vietnē var izdzēst filiāles, izmantojot opciju -d vai -D.
git filiāle -dVispirms pārbaudīsim galveno zaru, lai mēs varētu izdzēst b1 un b2 zarus.
$ git norēķinu meistarsPārslēgts uz filiāli “kapteinis”
Jūsu filiāle ir atjaunināta ar “origin / master”.
Vispirms izmēģināsim opciju -d, lai izdzēstu filiāli b1:
$ git filiāle -d b1kļūda: filiāle “b1” nav pilnībā apvienota.
Ja esat pārliecināts, ka vēlaties to izdzēst, palaidiet 'git branch -D b1'.
Kļūda norāda, ka izmaiņas ir jāapvieno no filiāles b1. Tas ir drošības līdzeklis, tāpēc jūs kļūdaini nezaudējat darbu filiālēs. Varat izmantot opciju -D, lai piespiestu izdzēst apvienošanu. Bet šajā gadījumā apvienosim izmaiņas no b1 un b2 uz master un virzīsim to uz attālo repozitoriju.
$ git sapludināšana b1Atjaunina 81eb2a3… a2f488e
Ātri uz priekšu
filiāle1.txt | 0
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 filiāle1.txt
$ git sapludināšana b2
Apvienošana, izmantojot “rekursīvo” stratēģiju.
filiāle2.txt | 0
Mainīts 1 fails, 0 ievietojumi (+), 0 dzējumi (-)
izveidot režīmu 100644 filiāle2.txt
$ git push izcelsmes meistars
Objektu skaitīšana: 4, izdarīts.
Delta saspiešana, izmantojot līdz 4 pavedieniem.
Objektu saspiešana: 100% (4/4), pabeigta.
Objektu rakstīšana: 100% (4/4), 454 baiti | 0 baiti / s, pabeigts.
Kopā 4 (delta 1), atkārtoti izmantots 0 (delta 0)
To / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 meistars -> meistars
Tagad mēģiniet vēlreiz izdzēst filiāles:
$ git filiāleb1
b2
* meistars
$ git filiāle -d b1
Izdzēsts filiāle b1 (bija a2f488e).
$ git filiāle -d b2
Izdzēsta filiāle b2 (bija 2abb723).
$ git filiāle
* meistars
Jūs esat veiksmīgi izdzēsis b1 un b2 atzarus lokāli.
6. Attālo filiāļu dzēšana
Pārbaudot attālās filiāles, jūs joprojām redzat b1:
$ git filiāle -rizcelsme / b1
izcelsme / meistars
Lai izdzēstu attālo filiāli, varat izmantot šo komandu:
git pushTātad jūs varat izdzēst attālo b1 filiāli ar sekojošo:
$ git push izcelsme - dzēst b1Kam / Lietotāji / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [dzēsts] b1
Tagad, pārbaudot tālvadības zarus, b1 vairs nevajadzētu redzēt:
$ git filiāle -rizcelsme / meistars
Apsveicu! Jūs esat veiksmīgi izdzēsis visus izveidotos zarus. Praktizējiet vairāk zaru izveidošanu un dzēšanu, lai apgūtu Git filiāles dzēšanas procesu.
Turpmāka izpēte:
- https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
- https: // git-scm.com / book / lv / v2 / Git-Branching-Branches-in-a-Riekstā
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging