V tej lekciji bomo naredili naslednje:
- Ustvarite oddaljeno skladišče
- Ustvarite lokalno kopijo oddaljenega repozitorija
- Ustvarite dve veji v lokalni kopiji
- Potisnite eno vejo v oddaljeno repozitorij
- Izbrišite lokalne podružnice
- Izbrišite oddaljene veje
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_localKloniranje 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 -rizvor / 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žnicab1
b2
* mojster
Zdaj bomo naredili nekaj sprememb vej:
$ git checkout b1Preklopljeno 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žnicab1
* 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žnicab1
* 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 -dNajprej preverimo glavno vejo, da bomo lahko izbrisali veji b1 in b2.
$ git checkout masterPreklopljeno 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 b1napaka: 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 b1Posodabljanje 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žnicab1
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 -rizvor / b1
izvor / mojster
Za brisanje oddaljene veje lahko uporabite naslednji ukaz:
git pushTako lahko oddaljeno vejo b1 izbrišete z naslednjim:
$ git push origin --delete b1V / 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 -rizvor / 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