Git

Hoe een Git Branch te verwijderen

Hoe een Git Branch te verwijderen
Vertakkingen maken in Git is eenvoudig. Het wordt beschouwd als een van Git's beste eigenschappen. Vanwege de aanwezigheid van externe en lokale repositories kan het verwijderen van branches echter een beetje verwarrend zijn.

In deze les gaan we het volgende doen:

De les zou je een algemeen begrip moeten geven van het proces voor het maken en verwijderen van vertakkingen, zodat je een goede beheersing hebt over de noodzakelijke stappen wanneer je een lokale of externe vertakking moet verwijderen.

Laten we beginnen.

1. Een externe opslagplaats maken

Laten we een map maken met de naam project.git en initialiseren om de externe repository te zijn:

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

Lege Git-repository geïnitialiseerd in /Users/zak/_work/LearnGIT/git_delete_branch/project.git/

2. Een lokale kopie van de externe repository maken

Laten we op een nieuwe locatie een lokale kopie maken met de naam project_local van de externe repository met behulp van de clone-opdracht.

Opmerking: als u met GitHub of BitBucket werkt, volgt u hetzelfde proces om de repository te klonen. In dat geval heb je een SSH-link in plaats van het volledige bestandspad dat hier wordt gebruikt.

$ git clone /Users/zak/_work/LearnGIT/git_delete_branch/project.git project_local
Klonen naar 'project_local'…
waarschuwing: je lijkt een lege repository te hebben gekloond.
gedaan.

3. Vertakkingen maken binnen de lokale kopie

Laten we eerst een bestand toevoegen aan de lokale kopie en het dan naar de externe repository pushen:

$ cd project_local
 
$ raak LeesMij aan.tekst
 
$ git add -A
 
$ git commit -m "De module initialiseren"
 
[master (root-commit) 81eb2a3] De module initialiseren
1 bestand gewijzigd, 0 invoegingen (+), 0 verwijderingen (-)
aanmaakmodus 100644 Leesmij.tekst
 
$ git push origin master
 
Objecten tellen: 3, klaar.
Objecten schrijven: 100% (3/3), 221 bytes | 0 bytes/s, klaar.
Totaal 3 (delta 0), hergebruikt 0 (delta 0)
Naar /Gebruikers/zak/_work/LearnGIT/git_delete_branch/project.git
* [nieuwe branch]      master -> master

In de bovenstaande opdrachten hebben we een bestand gemaakt met de naam ReadMe.txt, voegde het toe aan de lokale kopie, committe het aan de lokale kopie en pushte de wijzigingen vervolgens naar de externe repository of de master-branch van de oorsprong.

Als je de branches controleert, zie je de master branch in de lokale kopie:

$ git branch
* meester

Als je de remote branches controleert, zie je daar ook de master branch:

$ git branch -r
herkomst/meester

Hint: Je kunt de '-a' optie gebruiken om alle branches in lokale en remote repositories samen te zien.

$ git branch -a
* meester
afstandsbedieningen/oorsprong/master

Laten we twee branches maken, b1 en b2 genaamd, van de master branch:

$ git branch b1
$ git branch b2

Laten we eens kijken of de branches zijn gemaakt:

$ git branch
 
b1
b2
* meester

Nu gaan we enkele wijzigingen aanbrengen in de takken:

$ git kassa b1
 
Overgeschakeld naar tak 'b1'
 
$ raak tak1 . aan.tekst
 
$ git add -A
 
$ git commit -m "Branch1 wijziging"
 
[b1 a2f488e] Tak1 wijziging
1 bestand gewijzigd, 0 invoegingen (+), 0 verwijderingen (-)
maak modus 100644 branch1.tekst
 
$ git kassa b2
 
Overgeschakeld naar tak 'b2'
 
$ raak tak2 . aan.tekst
 
$ git add -A
 
$ git commit -m "Branch2 modificatie"
 
[b2 2abb723] Tak2 modificatie
1 bestand gewijzigd, 0 invoegingen (+), 0 verwijderingen (-)
maak modus 100644 branch2.tekst

Laten we de status van lokale en externe filialen controleren:

$ git branch
 
b1
* b2
meester
 
$ git branch -r
 
herkomst/meester

We kunnen lokaal zien dat we drie takken master hebben, b1 en b2. Maar we hebben alleen de master branch in de remote repository.

4. Vertakkingen naar externe repository pushen

Laten we de b1-tak naar de externe repository pushen:

$ git push oorsprong b1
 
Objecten tellen: 2, klaar.
Delta-compressie met maximaal 4 threads.
Objecten comprimeren: 100% (2/2), klaar.
Objecten schrijven: 100% (2/2), 249 bytes | 0 bytes/s, klaar.
Totaal 2 (delta 0), hergebruikt 0 (delta 0)
Naar /Gebruikers/zakh/_work/LearnGIT/git_delete_branch/project.git
* [nieuwe vestiging]      b1 -> b1

U kunt de status van de lokale en externe vestigingen controleren:

$ git branch
 
b1
* b2
meester
 
$ git branch -r
 
oorsprong/b1
herkomst/meester

Uit de bovenstaande filiaalstatussen kunnen we zien dat de b1-tak ook op afstand beschikbaar is.

5. Takken lokaal verwijderen

U kunt vertakkingen lokaal verwijderen met de -d of -D optie.

git branch -d

Laten we eerst in de master branch kijken, zodat we de b1 en b2 branches kunnen verwijderen.

$ git checkout master
 
Overgeschakeld naar tak 'master'
Uw branche is up-to-date met 'origin/master'.

Laten we eerst de -d optie proberen om de branch b1 te verwijderen:

$ git branch -d b1
 
error: De branch 'b1' is niet volledig gemerged.
Als je zeker weet dat je het wilt verwijderen, voer je 'git branch -D b1' uit.

De fout vertelt je dat je de wijzigingen van branch b1 moet mergen. Dit is een beveiliging, zodat je niet per ongeluk je werk op takken verliest. U kunt de optie -D gebruiken om het samenvoegen geforceerd te verwijderen. Maar laten we in dit geval de wijzigingen van b1 en b2 samenvoegen tot master en deze naar de externe repository pushen.

$ git merge b1
 
81eb2a3 bijwerken... a2f488e
Vooruitspoelen
tak1.txt | 0
1 bestand gewijzigd, 0 invoegingen (+), 0 verwijderingen (-)
maak modus 100644 branch1.tekst
 
$ git merge b2
 
Samenvoeging gemaakt door de 'recursieve' strategie.
tak2.txt | 0
1 bestand gewijzigd, 0 invoegingen (+), 0 verwijderingen (-)
maak modus 100644 branch2.tekst
 
$ git push origin master
 
Objecten tellen: 4, klaar.
Delta-compressie met maximaal 4 threads.
Objecten comprimeren: 100% (4/4), klaar.
Objecten schrijven: 100% (4/4), 454 bytes | 0 bytes/s, klaar.
Totaal 4 (delta 1), hergebruikt 0 (delta 0)
Naar /Gebruikers/zak/_work/LearnGIT/git_delete_branch/project.git
81eb2a3… 34db496  meester -> meester

Probeer nu de takken opnieuw te verwijderen:

$ git branch
 
b1
b2
* meester
 
$ git branch -d b1
 
Tak b1 verwijderd (was a2f488e).
 
$ git branch -d b2
 
Verwijderde tak b2 (was 2abb723).
 
$ git branch
 
* meester

Je hebt met succes de b1- en b2-takken lokaal verwijderd.

6. Externe vertakkingen verwijderen

Wanneer u de externe takken controleert, ziet u nog steeds b1 aanwezig:

$ git branch -r
 
oorsprong/b1
herkomst/meester

U kunt de volgende opdracht gebruiken om een ​​externe vertakking te verwijderen:

git push --verwijderen

U kunt de externe b1-tak dus als volgt verwijderen:

$ git push origin --delete b1
 
Naar /Gebruikers/zakh_eecs/_work/LearnGIT/git_delete_branch/project.git
- [verwijderd]         b1

Als je nu je remote branches controleert, zou je b1 niet meer moeten zien:

$ git branch -r
 
herkomst/meester

Gefeliciteerd! Je hebt met succes alle takken verwijderd die je hebt gemaakt. Oefen met het maken van meer branches en het verwijderen ervan om het Git branch verwijderingsproces onder de knie te krijgen.

Verdere studie:

  • https://git-scm.com/book/nl/v1/Git-Branching-What-a-Branch-Is
  • https://git-scm.com/book/nl/v2/Git-Branching-Branches-in-een-notendop
  • https://git-scm.com/book/nl/v2/Git-Branching-Basic-Branching-and-Merging
Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...
Beheer en beheer muisbewegingen tussen meerdere monitoren in Windows 10
Muisbeheer voor twee schermen laat je muisbewegingen tussen meerdere monitoren controleren en configureren door de bewegingen nabij de grens te vertra...
Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...