Git

Kako izbrisati Git granu

Kako izbrisati Git granu
Stvaranje grana u Gitu jednostavno je. Smatra se jednom od najboljih Gitovih karakteristika. Međutim, zbog prisutnosti udaljenih i lokalnih spremišta, brisanje grana može postati pomalo zbunjujuće.

U ovoj ćemo lekciji učiniti sljedeće:

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_local
Kloniranje 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 -r
podrijetlo / 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 grana
 
b1
b2
* ovladati; majstorski

Sada ćemo napraviti neke izmjene na granama:

$ git naplata b1
 
Prebač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 grana
 
b1
* 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 b1
 
Brojanje 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 grana
 
b1
* 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 -d

Prvo provjerimo glavnu granu kako bismo mogli izbrisati grane b1 i b2.

$ git checkout master
 
Prebač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 b1
 
pogreš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 b1
 
Až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 grana
 
b1
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 -r
 
podrijetlo / b1
podrijetlo / gospodar

Sljedeću naredbu možete koristiti za brisanje udaljene grane:

git push --izbrisati

Tako možete izbrisati udaljenu granu b1 sa sljedećim:

$ git push origin --delete b1
 
U / 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 -r
 
podrijetlo / 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
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...
Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...
Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...