Git

Kā izdzēst Git filiāli

Kā izdzēst Git filiāli
Gitā filiāles ir viegli izveidot. Tas tiek uzskatīts par vienu no Git labākajām īpašībām. Tomēr, ņemot vērā attālo un vietējo krātuvju klātbūtni, filiāļu dzēšana var kļūt nedaudz mulsinoša.

Šajā nodarbībā mēs rīkosimies šādi:

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_local
Klonēš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 -r
izcelsme / 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āle
 
b1
b2
* meistars

Tagad mēs veiksim dažas izmaiņas filiālēs:

$ git izrakstīšanās b1
 
Pā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āle
 
b1
* 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 b1
 
Objektu 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āle
 
b1
* 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 -d

Vispirms pārbaudīsim galveno zaru, lai mēs varētu izdzēst b1 un b2 zarus.

$ git norēķinu meistars
 
Pā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 b1
 
kļū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 b1
 
Atjaunina 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āle
 
b1
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 -r
 
izcelsme / b1
izcelsme / meistars

Lai izdzēstu attālo filiāli, varat izmantot šo komandu:

git push --dzēst

Tātad jūs varat izdzēst attālo b1 filiāli ar sekojošo:

$ git push izcelsme - dzēst b1
 
Kam / 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 -r
 
izcelsme / 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
Cīņa par Vesnota apmācību
Cīņa par Vesnotu ir viena no populārākajām atvērtā koda stratēģijas spēlēm, kuru jūs varat spēlēt šajā laikā. Šī spēle ir izstrādāta ne tikai ļoti ilg...
0 A.D. Apmācība
No daudzajām stratēģijas spēlēm 0 A.D. izdodas izcelties kā visaptverošs nosaukums un ļoti dziļa, taktiska spēle, neskatoties uz to, ka tā ir atvērtā ...
Unity3D apmācība
Ievads Vienotībā 3D Unity 3D ir spēcīgs spēļu izstrādes dzinējs. Tā ir pārrobežu platforma, kas ļauj izveidot spēles mobilajām ierīcēm, tīmeklim, gald...