Een vertakking in Git lokaal en op afstand verwijderen

Een vertakking in Git lokaal en op afstand verwijderen

Een van de sterkste eigenschappen van Git zijn de lichtgewicht takken. Hiermee kunt u efficiënt werken aan parallelle ontwikkelingsstadia. Een ontwikkelaar kan zelfs individuele branches maken voor afzonderlijke bugs. In zowel tijd als ruimte zijn vestigingen bijna kosteloos.





beste manier om een ​​stroomdiagram te maken

Veel git-workflows hebben te maken met zowel langdurige als tijdelijke branches. Daarom is het vaak nodig om vertakkingen te verwijderen tijdens de ontwikkeling. Het is af en toe nodig om gedeelde vertakkingen te verwijderen, van een externe server, evenals lokale vertakkingen.





Waarom een ​​filiaal verwijderen?

Ten eerste, als je git nog steeds onder de knie krijgt, is de kans groot dat je een branch maakt en dan besluit dat het niet nodig is. Of misschien experimenteer je met takken en wil je jezelf opruimen. Dit is prima aangezien vertakking in git een lichtgewicht operatie is. Het is erg snel en maakt efficiënt gebruik van schijfruimte.





Als gevolg hiervan moedigen veel git-ontwikkelingsworkflows vertakking aan, zelfs voor zeer kleine of korte taken. Een gemeenschappelijke strategie is bijvoorbeeld om: maak een filiaal voor een enkele bugfix. Dit geldt zelfs als het gaat om slechts een enkele auteur die een wijziging van één regel in een enkel bestand maakt.

Om deze redenen zijn het maken en verwijderen van branches bewerkingen die goed moeten worden begrepen. Het kan zijn dat u tijdens een typische ontwikkelingsworkflow vaak branches verwijdert.



Een voorbeeldrepository met takken

De volgende voorbeelden verwijzen naar een voorbeeldrepository met de volgende structuur:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Merk op dat elke lokale vertakking een corresponderende stroomopwaartse vertakking van de remote heeft: oorsprong .





Een vertakking verwijderen via de opdrachtregel

De basiscommandosyntaxis voor het verwijderen van een vertakking is:

git branch (-d | -D) [-r] ...

De eenvoudigste vorm van het commando verwijdert een lokale vertakking, op voorwaarde dat alle wijzigingen zijn samengevoegd:





$ git branch -d dev

U kunt de vertakking die momenteel actief is niet verwijderen; als u dit probeert, krijgt u een bericht als dit:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Als alles goed gaat, ziet u een bevestigingsbericht:

Deleted branch dev (was 1ae41e8).

Als je een branch verwijdert die alleen lokaal bestaat, met niet-samengevoegde wijzigingen, verlies je die wijzigingen. Daarom zal git standaard weigeren een branch te verwijderen in een dergelijke situatie:

error: The branch ‘dev’ is not fully merged.
If you are sure you want to delete it, run 'git branch -D dev’.

Zoals de foutmelding aangeeft, kunt u verwijdering forceren met de -NS vlag. Met git kun je echter een niet-samengevoegde lokale branch verwijderen als deze op afstand bestaat:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Het verwijderen van een vertakking op afstand is heel anders. Je gebruikt de git push commando samen met de -NS vlag om te verwijderen. Geef daarna de naam van de afstandsbediening op (vaak oorsprong ) en de filiaalnaam:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Lokale en externe takken verwijderen met GitHub Desktop

In tegenstelling tot het git-programma op de opdrachtregel, GitHub's desktop-app laat je alleen de actieve branch verwijderen. U kunt deze actie uitvoeren via de Tak menu, door de Verwijderen optie en bevestig deze:

GitHub Desktop laat je niet de standaard branch verwijderen, bijv. main—ook al ondersteunt git dit zelf. Als de standaardtak degene is die momenteel actief is, schakelt de app de menuactie uit.

Als de vertakking ook een vertakking op afstand vertegenwoordigt, geeft GitHub Desktop de mogelijkheid om deze ook van de vertakking op afstand te verwijderen:

Takken verwijderen met GitKraken

GitKraken geeft de lokale en externe vertakkingen van uw repository weer in de linkerzijbalk. Je moet elk verwijderenafzonderlijk.

Plaats de muisaanwijzer op de naam van de juiste tak en klik op de Tak actiemenu dat eruitziet als drie verticale stippen. Selecteer in het menu Verwijderen :

U ziet een bevestigingsbericht waarin staat dat dit een destructieve bewerking is. U kunt bevestigen dat u door wilt gaan met de Verwijderen knop:

Als gevolg van het standaardgedrag van het git-opdrachtregelprogramma, moet je eerst overschakelen naar een andere branch dan degene die je verwijdert. Anders ziet u een foutmelding:

Lokale en externe filialen verwijderen met Tower

Een tak verwijderen met Toren lijkt erg op het verwijderen van een branch met GitKraken. Lokale en afgelegen takken worden weergegeven in een paneel aan de linkerkant. Klik met de rechtermuisknop op een tak en selecteer de optie Verwijderen in het contextmenu:

Een belangrijk verschil is dat een vertakking op afstand samen met zijn lokale vertakking kan worden verwijderd tijdens de bevestiging:

Een vertakking op GitHub verwijderen

GitHub fungeert alleen als een externe bron, dus takken daar zijn standaard op afstand. Als je een vertakking verwijdert met behulp van de GitHub-website, moet je de bijbehorende lokale vertakking verwijderen met een van de andere methoden hier.

Net als bij de GitHub Desktop-app, staat de GitHub-website je niet toe om de standaardbranch te verwijderen. De optie verschijnt gewoon niet. Het verwijderen van een filiaal is echter eenvoudig. Van de repository's Code pagina, klik op de takken link, zoek de tak die u wilt verwijderen en klik vervolgens op de Deze tak verwijderen pictogram, dat eruitziet als een prullenbak:

Houd er rekening mee dat er geen controles zijn op niet-samengevoegde wijzigingen, dus op GitHub wordt de vertakking gewoon onmiddellijk verwijderd. Aangezien het echter altijd een externe branch zal vertegenwoordigen, zou dit het gedrag moeten zijn dat u verwacht.

Houd er rekening mee dat u na het verwijderen een knop ziet om Herstellen de tak. Dit is echter gewoon een handige functie voor ongedaan maken, voor het geval u per ongeluk op het verwijderpictogram klikt. Vertrouw er niet op, want zodra u de pagina vernieuwt of weg navigeert, verliest u de optie!

Lokale en externe takken op Bitbucket verwijderen

Bitbucket, net als GitHub, staat je niet toe om de standaard branch te verwijderen. Bitbucket noemt dit de Hoofdtak in Repository-instellingen . U kunt elk ander filiaal verwijderen dat wordt vermeld op de Takken tabblad, via de bijbehorende Acties menu:

Je kunt ook meer dan één vertakking tegelijk verwijderen als je een grote opruimingsoperatie uitvoert:

Het verwijderen van branches maakt deel uit van een typische Git-workflow

Git branches kunnen je workflow bemoeilijken, vooral een met lokale, remote en tracking branches. Maar voor eenvoudige dagelijkse ontwikkeling zult u waarschijnlijk de hele tijd lokale filialen maken en verwijderen. Dit is een kernaspect van een typische git-workflow waar je aan moet wennen.

Deel Deel Tweeten E-mail Git Branches gebruiken om uw programmeerproject te structureren

In dit artikel zullen we kijken naar wat het vertakken van je code betekent, hoe je dit moet doen, en manieren om updates voor de 'hoofd' git-vertakking te beheren.

Lees volgende
Gerelateerde onderwerpen
  • Programmeren
  • GitHub
Over de auteur Bobby Jack(58 artikelen gepubliceerd)

Bobby is een technologie-enthousiasteling die bijna twee decennia als softwareontwikkelaar heeft gewerkt. Hij is gepassioneerd door gaming, werkt als recensie-editor bij Switch Player Magazine en is ondergedompeld in alle aspecten van online publiceren en webontwikkeling.

Meer van Bobby Jack

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren