Een van de sterkste kenmerken van Git zijn de lichtgewicht takken. Ze stellen u in staat om efficiënt aan parallelle ontwikkelingsstadia te werken. Een ontwikkelaar kan zelfs afzonderlijke branches maken voor afzonderlijke bugs. In zowel tijd als ruimte zijn takken bijna kosteloos.
Veel git-workflows hebben te maken met zowel langdurige als tijdelijke branches. Daarom is het vaak nodig om takken te verwijderen tijdens de ontwikkeling. Het is af en toe nodig om gedeelde branches te verwijderen, van een externe server, evenals lokale branches.
Waarom een filiaal verwijderen?
Ten eerste, als je stil bent grip krijgen op git, is de kans groot dat je een branch maakt en dan besluit dat dit niet nodig is. Of misschien experimenteer je met takken en wil je jezelf opruimen. Dit is prima, aangezien vertakken in git een lichtgewicht bewerking is. Het is erg snel en gebruikt efficiënt schijfruimte.
In dit artikel zullen we bekijken wat het vertakken van je code betekent, hoe je het moet doen en manieren om updates aan de "hoofd" git branch te beheren.
Als gevolg hiervan moedigen veel git-ontwikkelingsworkflows vertakking aan, zelfs voor zeer kleine of korte taken. Een gemeenschappelijke strategie is bijvoorbeeld om maak een branch voor een enkele bugfix. Dit geldt zelfs als het gaat om slechts één auteur die een wijziging van één regel in één bestand aanbrengt.
Om deze redenen zijn het maken en verwijderen van vertakkingen bewerkingen die goed moeten worden begrepen. Het kan zijn dat u vaak branches verwijdert tijdens een typische ontwikkelingsworkflow.
Een voorbeeldopslagplaats met filialen
De volgende voorbeelden verwijzen naar een voorbeeldrepository met de volgende structuur:
$ git branch -vv
1 dev 1ae41e8 [oorsprong / dev] eerste commit
2 * main 1ae41e8 [oorsprong / main] eerste commit
Merk op dat elke lokale tak een corresponderende stroomopwaartse tak heeft vanaf de afstandsbediening: oorsprong.
Een filiaal verwijderen met de opdrachtregel
De basisopdrachtsyntaxis voor het verwijderen van een vertakking is:
git branch (-d | -D) [-r] ...
De eenvoudigste vorm van het commando verwijdert een lokale branch, op voorwaarde dat al zijn wijzigingen zijn samengevoegd:
$ git branch -d dev
U kunt de branch die momenteel actief is, niet verwijderen; als u dit probeert, krijgt u een bericht als dit:
fout: kan branch 'main' die is uitgecheckt bij '/ tmp / sandbox' niet verwijderen
Als het goed gaat, ziet u een bevestigingsbericht:
Branch dev verwijderd (was 1ae41e8).
Als je een branch verwijdert die alleen lokaal bestaat, met niet-samengevoegde wijzigingen, gaan die wijzigingen verloren. Daarom zal git standaard weigeren om een branch in zo'n situatie te verwijderen:
fout: De branch ‘dev’ is niet volledig samengevoegd.
Als je zeker weet dat je het wilt verwijderen, voer je 'git branch -D dev ’uit.
Zoals het foutbericht aangeeft, kunt u verwijdering forceren met de -D vlag. Git staat je echter toe om een niet-samengevoegde lokale branch te verwijderen als deze op afstand bestaat:
waarschuwing: het verwijderen van de branch ‘dev’ waarnaar is samengevoegd
'refs / remotes / origin / dev ’, maar nog niet samengevoegd met HEAD.
Branch dev verwijderd (was 9a6d20b).
Het verwijderen van een vertakking op afstand is heel anders. U gebruikt de git push commando samen met de -d vlag om te verwijderen. Geef daarna de naam van de afstandsbediening op (vaak oorsprong) en de filiaalnaam:
$ git push -d oorsprong dev
Naar github.com: bobbykjack / sandbox.git
- [verwijderd] dev
Lokale en externe filialen verwijderen met GitHub Desktop
In tegenstelling tot het git-programma op de opdrachtregel, De desktop-app van GitHub laat je alleen de actieve branch verwijderen. U kunt deze actie uitvoeren via het Afdeling menu door het te selecteren Verwijderen optie en bevestigen:
Met GitHub Desktop kun je de standaard branch niet verwijderen, bijvoorbeeld. main - ook al ondersteunt git dit zelf. Als de standaardtak degene is die momenteel actief is, schakelt de app de menuactie uit.
Als de branch ook een remote branch vertegenwoordigt, geeft GitHub Desktop de optie om deze ook van de remote te verwijderen:
Takken verwijderen met GitKraken
GitKraken geeft de lokale en externe filialen van uw repository weer in de linkerzijbalk. U moet ze allemaal verwijderen afzonderlijk.
Plaats de muisaanwijzer op de juiste filiaalnaam en klik op het Afdeling actiemenu dat eruitziet als drie verticale stippen. Selecteer in het menu Verwijderen :
U krijgt een bevestigingsbericht te zien dat dit een destructieve operatie is. U kunt bevestigen dat u wilt doorgaan met het Verwijderen knop:
Als weerspiegeling van het standaardgedrag van het git-opdrachtregelprogramma, moet je eerst overschakelen naar een andere branch dan degene die je verwijdert. Anders zie je een foutmelding:
Lokale en externe filialen verwijderen met behulp van Tower
Een tak verwijderen met Toren lijkt erg op het verwijderen van een branch met GitKraken. Lokale en afgelegen vestigingen worden in een paneel aan de linkerkant weergegeven. Klik met de rechtermuisknop op een vertakking 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 filiaal verwijderen op GitHub
GitHub fungeert alleen als een externe bron, dus daar zijn vertakkingen standaard op afstand. Als je een branch verwijdert met behulp van de GitHub-website, moet je de corresponderende lokale branch verwijderen met een van de andere methoden hier.
Net als bij de GitHub Desktop-app, staat de GitHub-website je niet toe om de standaardvertakking te verwijderen. De optie verschijnt gewoon niet. Het verwijderen van een vertakking is echter eenvoudig. Van de repository's Code pagina, klik op het takken link, zoek de vertakking die u wilt verwijderen en klik op het Verwijder deze branch pictogram, dat eruitziet als een prullenbak:
Houd er rekening mee dat er geen controles zijn op niet-samengevoegde wijzigingen, dus op GitHub wordt de branch gewoon onmiddellijk verwijderd. Omdat het echter altijd een vertakking op afstand zal vertegenwoordigen, zou dit het gedrag moeten zijn dat u verwacht.
Houd er rekening mee dat u na het verwijderen een knop ziet voor Herstellen de tak. Dit is echter gewoon een handige functie om ongedaan te maken, voor het geval u per ongeluk op het verwijderpictogram klikt. Vertrouw er niet op, want zodra u vernieuwt of de pagina verlaat, verliest u de optie!
Lokale en externe filialen op Bitbucket verwijderen
Bitbucket, zoals GitHub, staat je niet toe om de standaard branch te verwijderen. Bitbucket noemt dit de Hoofdtak in Repository-instellingen. U kunt elke andere branch verwijderen die op het Takken tabblad, via het bijbehorende Acties menu:
Je kunt ook meer dan één branch tegelijk verwijderen als je een grote opruimactie uitvoert:
Het verwijderen van branches maakt deel uit van een typische Git-workflow
Git-branches kunnen uw workflow ingewikkelder maken, vooral een met lokale, externe en tracking branches. Maar voor een eenvoudige dagelijkse ontwikkeling zult u waarschijnlijk de hele tijd lokale vestigingen maken en verwijderen. Dit is een kernaspect van een typische git-workflow waar je aan zou moeten wennen.
In dit artikel zullen we bekijken wat het vertakken van je code betekent, hoe je het moet doen en manieren om updates aan de "hoofd" git branch te beheren.
- Programmeren
- GitHub
Bobby is een technologieliefhebber die het grootste deel van twee decennia als softwareontwikkelaar heeft gewerkt. Hij is gepassioneerd door gamen, werkt als recensie-editor bij Switch Player Magazine en is ondergedompeld in alle aspecten van online publiceren en webontwikkeling.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.