Git

Kaip ištrinti Git filialą

Kaip ištrinti Git filialą
Sukurti filialus „Git“ yra lengva. Tai laikoma viena geriausių „Git“ savybių. Tačiau dėl nuotolinių ir vietinių saugyklų šakų ištrynimas gali tapti šiek tiek painus.

Šioje pamokoje atliksime šiuos veiksmus:

Pamoka turėtų suteikti jums bendrą supratimą apie filialo kūrimo ir ištrynimo procesą, todėl jūs turite gerą komandą apie būtinus veiksmus, kai reikia ištrinti vietinį ar nuotolinį filialą.

Pradėkime.

1. Nuotolinės saugyklos kūrimas

Sukurkime aplanką, pavadintą projektas.git ir inicializuokite kaip nuotolinę saugyklą:

$ mkdir projektas.git
$ cd projektas.git
$ git init -bare

Inicijuota tuščia „Git“ saugykla aplanke / Vartotojai / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Nuotolinės saugyklos vietinės kopijos kūrimas

Naujoje vietoje sukurkime vietinę nuotolinės talpyklos kopiją „project_local“ naudodami komandą „klonas“.

Pastaba: jei dirbate su „GitHub“ arba „BitBucket“, atlikite tą patį procesą klonuodami saugyklą. Tokiu atveju vietoj viso čia naudojamo failo kelio turėsite SSH nuorodą.

$ git clone / Vartotojai / zak / _work / LearnGIT / git_delete_branch / project.git project_local
Klonavimas į „project_local“ ..
įspėjimas: Panašu, kad klonavote tuščią saugyklą.
padaryta.

3. Filialų kūrimas vietinės kopijos viduje

Pirmiausia pridėkime failą prie vietinės kopijos, tada stumkite jį į nuotolinę saugyklą:

$ cd project_local
 
$ palieskite „ReadMe“.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m „Modulio inicijavimas“
 
[meistras (root-įsipareigoti) 81eb2a3] Modulio inicijavimas
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 „ReadMe“.txt
 
$ git push kilmės meistras
 
Objektų skaičiavimas: 3, atlikta.
Rašyti objektus: 100% (3/3), 221 baitai | 0 baitų / s, atlikta.
Iš viso 3 (0 delta), pakartotinai panaudota 0 (0 delta)
Kam / Vartotojai / zak / _work / LearnGIT / git_delete_branch / project.git
* [naujas filialas] meistras -> meistras

Pirmiau pateiktose komandose sukūrėme failą pavadinimu „ReadMe“.„txt“, pridėjo jį prie vietinės kopijos, priskyrė vietinei kopijai ir tada pakeitė nuotolinės saugyklos ar pirminės šakos pakeitimus.

Jei patikrinsite filialus, pamatiniame filiale pamatysite vietinę kopiją:

$ git filialas
* meistras

Jei patikrinsite nuotolinius filialus, pamatysite ir pagrindinį filialą:

$ git filialas -r
kilmė / meistras

Patarimas: Norėdami naudoti visus filialus vietinėse ir nuotolinėse saugyklose, galite naudoti „-a“ parinktį.

$ git filialas -a
* meistras
pulteliai / kilmė / meistras

Iš pagrindinio šakos sukurkime dvi šakas, vadinamas b1 ir b2:

$ git filialas b1
$ git filialas b2

Patikrinkime, ar šakos buvo sukurtos:

$ git filialas
 
b1
b2
* meistras

Dabar mes atliksime keletą pakeitimų filialuose:

$ git atsiskaitymas b1
 
Perjungta į „b1“ atšaką
 
$ touch filialas.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m „Filialo1 modifikacija“
 
[b1 a2f488e] Filialo1 modifikacija
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 filialas1.txt
 
$ git atsiskaitymas b2
 
Perjungta į „b2“ atšaką
 
$ touch filialas2.txt
 
$ git pridėti -A
 
$ git įsipareigoti -m „Filialo 2 modifikacija“
 
[b2 2abb723] Filialo 2 modifikacija
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 filialas2.txt

Patikrinkime vietinių ir nuotolinių filialų būsenas:

$ git filialas
 
b1
* b2
meistras
 
$ git filialas -r
 
kilmė / meistras

Mes galime pamatyti, kad mes turime tris filialų meistrus - b1 ir b2. Bet nuotolinėje saugykloje turime tik pagrindinį filialą.

4. Filialų perkėlimas į nuotolinę saugyklą

Stumkime b1 šaką į nuotolinę saugyklą:

$ git push pradžia b1
 
Objektų skaičiavimas: 2, atlikta.
Delta suspaudimas naudojant iki 4 siūlų.
Suspausti objektai: 100% (2/2), padaryta.
Rašomi objektai: 100% (2/2), 249 baitai | 0 baitų / s, atlikta.
Iš viso 2 (0 delta), pakartotinai panaudota 0 (0 delta)
To / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [nauja šaka] b1 -> b1

Galite patikrinti vietinio ir nuotolinio filialo būsenas:

$ git filialas
 
b1
* b2
meistras
 
$ git filialas -r
 
kilmė / b1
kilmė / meistras

Iš pirmiau nurodytų filialų būsenų galime pamatyti, kad b1 šaką galima gauti ir nuotoliniu būdu.

5. Filialų naikinimas vietoje

Vietoje galite ištrinti šakas naudodami parinktį -d arba -D.

git filialas -d

Pirmiausia patikrinkime pagrindinį šaką, kad galėtume ištrinti b1 ir b2 šakas.

$ git atsiskaitymo meistras
 
Perjungtas į filialo „master“
Jūsų filialas atnaujintas su „origin / master“.

Pirmiausia pabandykime parinktį -d, kad ištrintumėte filialą b1:

$ git filialas -d b1
 
klaida: šaka „b1“ nėra visiškai sujungta.
Jei tikrai norite jį ištrinti, paleiskite „git branch -D b1“.

Klaida nurodo, kad turite sujungti pakeitimus iš filialo b1. Tai yra apsaugos priemonė, todėl jūs neprarandate klaidos savo šakų srityje. Norėdami priversti ištrinti sujungimą, galite naudoti -D parinktį. Bet šiuo atveju sujunkime pakeitimus iš b1 ir b2 į pagrindinį ir perkelkime jį į nuotolinę saugyklą.

$ git susijungimas b1
 
Atnaujinamas 81eb2a3 ... a2f488e
Pirmyn
filialas1.txt | 0
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 filialas1.txt
 
$ git susijungti b2
 
„Rekursinės“ strategijos sujungimas.
šaka2.txt | 0
Pakeistas 1 failas, 0 įterpimų (+), 0 pašalinimų (-)
sukurti režimą 100644 filialas2.txt
 
$ git push kilmės meistras
 
Objektų skaičiavimas: 4, atlikta.
Delta suspaudimas naudojant iki 4 siūlų.
Suspausti objektai: 100% (4/4), padaryta.
Rašyti objektus: 100% (4/4), 454 baitai | 0 baitų / s, atlikta.
Iš viso 4 (delta 1), pakartotinai panaudota 0 (delta 0)
/ Vartotojams / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 meistras -> meistras

Dabar pabandykite dar kartą ištrinti šakas:

$ git filialas
 
b1
b2
* meistras
 
$ git filialas -d b1
 
Ištrintas filialas b1 (buvo a2f488e).
 
$ git filialas -d b2
 
Ištrinta b2 šaka (buvo 2abb723).
 
$ git filialas
 
* meistras

Jūs sėkmingai ištrynėte b1 ir b2 filialus vietoje.

6. Nuotolinių filialų trynimas

Kai patikrinsite nuotolines atšakas, vis tiek matysite b1:

$ git filialas -r
 
kilmė / b1
kilmė / meistras

Norėdami ištrinti nuotolinį filialą, galite naudoti šią komandą:

git stumti --Ištrinti

Taigi galite ištrinti nuotolinį b1 filialą taip:

$ git push origin - ištrinti b1
 
Kam / Vartotojai / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [ištrinta] b1

Dabar, jei patikrinsite savo nuotolinius filialus, nebeturėtumėte matyti b1:

$ git filialas -r
 
kilmė / meistras

Sveikiname! Jūs sėkmingai ištrynėte visas savo sukurtas šakas. Pratinkite kurti daugiau šakų ir jas ištrinti, kad įvaldytumėte „Git“ šakos ištrynimo procesą.

Tolesnis tyrimas:

  • https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
  • https: // git-scm.com / book / en / v2 / Git-Branching-Branches-in-a-Riešutinėje
  • https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging
Geriausi „Linux“ komandinės eilutės žaidimai
Komandų eilutė yra ne tik jūsų didžiausias sąjungininkas naudojant „Linux“, bet ir pramogų šaltinis, nes ją galite naudoti norėdami žaisti daug įdomių...
Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...