Git

Kako izbrisati vejo Git

Kako izbrisati vejo Git
Ustvarjanje podružnic v Gitu je enostavno. Šteje se za eno najboljših lastnosti Gita. Vendar pa lahko zaradi prisotnosti oddaljenih in lokalnih repozitorijev brisanje vej postane nekoliko zmedeno.

V tej lekciji bomo naredili naslednje:

Lekcija vam mora dati splošno razumevanje postopka ustvarjanja in brisanja vej, tako da boste dobro ukazali potrebne korake, ko boste morali izbrisati lokalno ali oddaljeno vejo.

Začnimo.

1. Ustvarjanje oddaljenega repozitorija

Ustvarimo mapo, imenovano projekt.git in inicializirajte, da bo oddaljeno repozitorij:

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

Inicializirano prazno repozitorij Git v / Users / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Ustvarjanje lokalne kopije oddaljenega repozitorija

Na novem mestu ustvarimo lokalno kopijo oddaljenega repozitorija z imenom project_local z ukazom clone.

Opomba: Če delate z GitHubom ali BitBucketom, boste po postopku klonirali skladišče. V tem primeru boste namesto celotne poti datoteke, ki je tukaj uporabljena, imeli povezavo SSH.

$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / project.git project_local
Kloniranje v 'project_local' ..
opozorilo: Videti je, da ste klonirali prazno repozitorij.
Končano.

3. Ustvarjanje vej znotraj lokalne kopije

Najprej dodajte datoteko v lokalno kopijo in jo nato potisnite v oddaljeno repozitorij:

$ cd project_local
 
$ touch ReadMe.txt
 
$ git add -A
 
$ git commit -m "Inicializacija modula"
 
[master (root-commit) 81eb2a3] Inicializacija modula
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 ReadMe.txt
 
$ git push izvorni mojster
 
Štetje predmetov: 3, končano.
Pisanje predmetov: 100% (3/3), 221 bajtov | 0 bajtov / s, končano.
Skupaj 3 (delta 0), ponovno uporabljena 0 (delta 0)
V / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [nova veja] master -> master

V zgornjih ukazih smo ustvarili datoteko z imenom ReadMe.txt, jo dodal v lokalno kopijo, jo dodal v lokalno kopijo in nato potisnil spremembe v oddaljeno repozitorij ali glavno vejo izvora.

Če preverite veje, boste v lokalni kopiji videli glavno vejo:

$ git podružnica
* mojster

Če preverite oddaljene veje, boste tam videli tudi glavno vejo:

$ git podružnica -r
izvor / mojster

Namig: Z možnostjo '-a' si lahko ogledate vse podružnice v lokalnih in oddaljenih skladiščih skupaj.

$ git podružnica -a
* mojster
oddaljeni / izvor / glavni

Ustvarimo dve veji, imenovani b1 in b2, iz glavne veje:

$ git podružnica b1
$ git podružnica b2

Preverimo, ali so bile podružnice ustvarjene:

$ git podružnica
 
b1
b2
* mojster

Zdaj bomo naredili nekaj sprememb vej:

$ git checkout b1
 
Preklopljeno na vejo 'b1'
 
$ touch branch1.txt
 
$ git add -A
 
$ git commit -m "Spreminjanje podružnice1"
 
[b1 a2f488e] Sprememba podružnice1
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 podružnica1.txt
 
$ git checkout b2
 
Preklopljeno na vejo 'b2'
 
$ touch branch2.txt
 
$ git add -A
 
$ git commit -m "Spreminjanje podružnice2"
 
[b2 2abb723] Sprememba veje2
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 podružnica2.txt

Preverimo lokalna in oddaljena stanja podružnic:

$ git podružnica
 
b1
* b2
mojster
 
$ git podružnica -r
 
izvor / mojster

Lokalno lahko vidimo, da imamo tri veje master, b1 in b2. Toda v oddaljenem repozitoriju imamo samo glavno vejo.

4. Potiskanje vej v oddaljeno skladišče

Potisnimo vejo b1 v oddaljeno repozitorij:

$ git push origin b1
 
Štetje predmetov: 2, končano.
Delta stiskanje z uporabo do 4 niti.
Stiskanje predmetov: 100% (2/2), končano.
Pisanje predmetov: 100% (2/2), 249 bajtov | 0 bajtov / s, končano.
Skupaj 2 (delta 0), ponovno uporabljena 0 (delta 0)
V / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [nova veja] b1 -> b1

Stanje lokalne in oddaljene podružnice lahko preverite:

$ git podružnica
 
b1
* b2
mojster
 
$ git podružnica -r
 
izvor / b1
izvor / mojster

Iz zgornjih stanj vej vidimo, da je veja b1 na voljo tudi na daljavo.

5. Lokalno brisanje podružnic

Veje lahko izbrišete lokalno z možnostjo -d ali -D.

git podružnica -d

Najprej preverimo glavno vejo, da bomo lahko izbrisali veji b1 in b2.

$ git checkout master
 
Preklopljeno na vejo 'master'
Vaša podružnica je posodobljena z 'origin / master'.

Najprej poskusimo z možnostjo -d, da izbrišemo vejo b1:

$ git podružnica -d b1
 
napaka: veja 'b1' ni popolnoma združena.
Če ste prepričani, da ga želite izbrisati, zaženite 'git branch -D b1'.

Napaka vam sporoča, da morate združiti spremembe iz veje b1. To je zaščitni ukrep, da ne boste pomotoma izgubili svojega dela na podružnicah. Z možnostjo -D lahko prisilno izbrišete spajanje. Toda v tem primeru združimo spremembe iz b1 in b2 v master in jih potisnemo v oddaljeno repozitorij.

$ git spajanje b1
 
Posodabljanje 81eb2a3… a2f488e
Hitro naprej
podružnica1.txt | 0
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 podružnica1.txt
 
$ git spajanje b2
 
Združitev, narejena s "rekurzivno" strategijo.
podružnica2.txt | 0
1 datoteka spremenjena, 0 vstavkov (+), 0 izbrisov (-)
ustvari način 100644 podružnica2.txt
 
$ git push izvorni mojster
 
Štetje predmetov: 4, končano.
Delta stiskanje z uporabo do 4 niti.
Stiskanje predmetov: 100% (4/4), končano.
Pisanje predmetov: 100% (4/4), 454 bajtov | 0 bajtov / s, končano.
Skupaj 4 (delta 1), ponovno uporabljena 0 (delta 0)
V / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 mojster -> mojster

Zdaj poskusite znova izbrisati veje:

$ git podružnica
 
b1
b2
* mojster
 
$ git podružnica -d b1
 
Izbrisana veja b1 (bila je a2f488e).
 
$ git podružnica -d b2
 
Izbrisana veja b2 (bila je 2abb723).
 
$ git podružnica
 
* mojster

Lokalno ste uspešno izbrisali veji b1 in b2.

6. Brisanje oddaljenih vej

Ko preverite oddaljene veje, še vedno vidite b1:

$ git podružnica -r
 
izvor / b1
izvor / mojster

Za brisanje oddaljene veje lahko uporabite naslednji ukaz:

git push --izbriši

Tako lahko oddaljeno vejo b1 izbrišete z naslednjim:

$ git push origin --delete b1
 
V / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [črtano] b1

Zdaj, če preverite oddaljene veje, b1 ne bi smeli več videti:

$ git podružnica -r
 
izvor / mojster

Vse čestitke! Uspešno ste izbrisali vse veje, ki ste jih ustvarili. Vadite, kako narediti več vej in jih izbrisati, da obvladate postopek brisanja vej Git.

Nadaljni študij:

  • 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-Nutshell
  • https: // git-scm.com / book / sl / v2 / Git-Branching-Basic-Branching-and-Merging
Najboljše igre z ročnim sledenjem
Oculus Quest je pred kratkim predstavil odlično idejo ročnega sledenja brez krmilnikov. Z vedno večjim številom iger in dejavnosti, ki izvajajo podpor...
Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...
Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...