U ovoj ćemo lekciji učiniti sljedeće:
- Stvorite udaljeno spremište
- Stvorite lokalnu kopiju udaljenog spremišta
- Stvorite dvije grane u lokalnoj kopiji
- Gurnite jednu granu u udaljeno spremište
- Izbrišite lokalne podružnice
- Izbrišite udaljene grane
Lekcija bi vam trebala dati cjelovito razumijevanje postupka stvaranja i brisanja grana, tako da imate dobru naredbu nad potrebnim koracima kada trebate izbrisati lokalnu ili udaljenu granu.
Započnimo.
1. Stvaranje udaljenog spremišta
Stvorimo mapu koja se zove projekt.git i inicijalizirajte da bude udaljeno spremište:
$ mkdir projekt.git$ cd projekt.git
$ git init -bare
Inicijalizirano prazno Git spremište u / Users / zak / _work / LearnGIT / git_delete_branch / project.git /
2. Stvaranje lokalne kopije udaljenog spremišta
Na novom mjestu stvorimo lokalnu kopiju pod nazivom project_local udaljenog spremišta pomoću naredbe clone.
Napomena: Ako radite s GitHubom ili BitBucketom, slijedit ćete isti postupak kloniranja spremišta. U tom slučaju imat ćete SSH vezu umjesto pune staze datoteke koja se ovdje koristi.
$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / project.git project_localKloniranje u 'project_local' ..
upozorenje: Čini se da ste klonirali prazno spremište.
gotovo.
3. Stvaranje grana unutar lokalne kopije
Prvo dodamo datoteku u lokalnu kopiju, a zatim je gurnemo u udaljeno spremište:
$ cd projekt_lokalno$ touch ReadMe.txt
$ git dodaj -A
$ git commit -m "Inicijalizacija modula"
[master (root-commit) 81eb2a3] Inicijalizacija modula
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 ReadMe.txt
$ git push master master
Brojanje predmeta: 3, gotovo.
Zapisivanje objekata: 100% (3/3), 221 bajta | 0 bajtova / s, gotovo.
Ukupno 3 (delta 0), ponovno upotrijebljena 0 (delta 0)
U / Users / zak / _work / LearnGIT / git_delete_branch / project.git
* [nova grana] master -> master
U gornjim naredbama stvorili smo datoteku nazvanu ReadMe.txt, dodao ga u lokalnu kopiju, predao u lokalnu kopiju, a zatim gurnuo promjene u udaljeno spremište ili glavnu granu podrijetla.
Ako provjerite grane, vidjet ćete glavnu granu u lokalnoj kopiji:
$ git grana* ovladati; majstorski
Ako provjerite udaljene grane, tamo ćete vidjeti i glavnu granu:
$ git grana -rpodrijetlo / gospodar
Savjet: Možete koristiti opciju '-a' da biste zajedno vidjeli sve grane u lokalnim i udaljenim spremištima.
$ git grana -a* ovladati; majstorski
daljinski upravljači / podrijetlo / master
Stvorimo dvije grane zvane b1 i b2 od glavne grane:
$ git grana b1$ git grana b2
Provjerimo jesu li grane stvorene:
$ git granab1
b2
* ovladati; majstorski
Sada ćemo napraviti neke izmjene na granama:
$ git naplata b1Prebačeno na granu 'b1'
$ touch grana1.txt
$ git dodaj -A
$ git commit -m "Izmjena grane1"
[b1 a2f488e] Izmjena grane1
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 grana1.txt
$ git naplata b2
Prebačeno na granu 'b2'
$ dodirna grana2.txt
$ git dodaj -A
$ git commit -m "Izmjena grane2"
[b2 2abb723] Izmjena grane2
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 grana2.txt
Provjerimo lokalne i udaljene statuse grana:
$ git granab1
* b2
ovladati; majstorski
$ git grana -r
podrijetlo / gospodar
Lokalno možemo vidjeti da imamo tri grane master, b1 i b2. Ali mi imamo samo glavnu granu u udaljenom spremištu.
4. Guranje grana u udaljeno spremište
Gurnimo granu b1 na udaljeno spremište:
$ git push ishodište b1Brojanje predmeta: 2, gotovo.
Delta kompresija pomoću do 4 niti.
Stiskanje predmeta: 100% (2/2), gotovo.
Zapisivanje objekata: 100% (2/2), 249 bajtova | 0 bajtova / s, gotovo.
Ukupno 2 (delta 0), ponovno upotrijebljena 0 (delta 0)
U / Users / zakh / _work / LearnGIT / git_delete_branch / project.git
* [nova grana] b1 -> b1
Možete provjeriti lokalne i udaljene statuse podružnica:
$ git granab1
* b2
ovladati; majstorski
$ git grana -r
podrijetlo / b1
podrijetlo / gospodar
Iz gornjih statusa grana možemo vidjeti da je grana b1 također dostupna na daljinu.
5. Lokalno brisanje grana
Lokalno možete brisati grane pomoću opcije -d ili -D.
git grana -dPrvo provjerimo glavnu granu kako bismo mogli izbrisati grane b1 i b2.
$ git checkout masterPrebačeno na granu 'master'
Vaša grana je ažurirana s "origin / master".
Pokušajmo prvo s opcijom -d za brisanje grane b1:
$ git grana -d b1pogreška: Grana 'b1' nije u potpunosti spojena.
Ako ste sigurni da ga želite izbrisati, pokrenite 'git branch -D b1'.
Pogreška vam govori da morate spojiti promjene iz grane b1. Ovo je zaštita, tako da nećete pogreškom izgubiti svoj rad na poslovnicama. Opciju -D možete koristiti za prisilno brisanje spajanja. Ali u ovom slučaju, spojimo promjene s b1 i b2 u master i gurnimo ih u udaljeno spremište.
$ git spajanje b1Ažuriranje 81eb2a3 ... a2f488e
Premotavanje unaprijed
grana1.txt | 0
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 grana1.txt
$ git spajanje b2
Spajanje izvedeno 'rekurzivnom' strategijom.
grana2.txt | 0
Promijenjena je 1 datoteka, 0 umetanja (+), 0 brisanja (-)
način stvaranja 100644 grana2.txt
$ git push master master
Brojanje predmeta: 4, gotovo.
Delta kompresija pomoću do 4 niti.
Stiskanje predmeta: 100% (4/4), gotovo.
Zapisivanje objekata: 100% (4/4), 454 bajta | 0 bajtova / s, gotovo.
Ukupno 4 (delta 1), ponovno korištena 0 (delta 0)
U / Users / zak / _work / LearnGIT / git_delete_branch / project.git
81eb2a3… 34db496 master -> master
Sada ponovo pokušajte izbrisati grane:
$ git granab1
b2
* ovladati; majstorski
$ git grana -d b1
Izbrisana grana b1 (bila je a2f488e).
$ git grana -d b2
Izbrisana grana b2 (bila je 2abb723).
$ git grana
* ovladati; majstorski
Uspješno ste lokalno izbrisali grane b1 i b2.
6. Brisanje udaljenih grana
Kada provjerite udaljene grane, i dalje ćete vidjeti b1 prisutan:
$ git grana -rpodrijetlo / b1
podrijetlo / gospodar
Sljedeću naredbu možete koristiti za brisanje udaljene grane:
git pushTako možete izbrisati udaljenu granu b1 sa sljedećim:
$ git push origin --delete b1U / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.git
- [izbrisano] b1
Ako provjerite udaljene grane, više ne biste trebali vidjeti b1:
$ git grana -rpodrijetlo / gospodar
Čestitamo! Uspješno ste izbrisali sve grane koje ste stvorili. Vježbajte izrađivati više grana i brisati ih kako biste ovladali postupkom brisanja Git grana.
Daljni studiji:
- 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 / en / v2 / Git-Branching-Basic-Branching-and-Merging