border=0

"77.95.5.4 - 77.95.5.4"

Hoe verwijder je een Git branch zowel lokaal als op afstand?

Ik wil een filiaal zowel lokaal als in mijn externe projectplug op GitHub verwijderen .

Kan verwijderde tak niet verwijderen

 $ git branch -d remotes/origin/bugfix error: branch 'remotes/origin/bugfix' not found. $ git branch -d origin/bugfix error: branch 'origin/bugfix' not found. $ git branch -rd origin/bugfix Deleted remote branch origin/bugfix (was 2a14ef7). $ git push Everything up-to-date $ git pull From github.com:gituser/gitproject * [new branch] bugfix -> origin/bugfix Already up-to-date. 

Wat moet ik op een andere manier doen om succesvol remotes/origin/bugfix zowel lokaal als op GitHub?

14380
05 янв. Matthew Rankin op 5 januari 2010-01-05 04:12 '10 om 4:12 2010-01-05 04:12
@ 40 antwoorden
  • 1
  • 2

Samenvatting

 $ git push --delete <remote_name> <branch_name> $ git branch -d <branch_name> 

Houd er rekening mee dat in de meeste gevallen de verwijderde naam de origin .

Verwijder lokale vestiging

Om een ​​lokaal filiaal te verwijderen, gebruikt u een van de volgende:

 $ git branch -d branch_name $ git branch -D branch_name 

Let op. De -d is een pseudoniem voor --delete , die een vertakking alleen verwijdert als deze al volledig is samengevoegd met de bovenliggende vertakking. U kunt ook -d , wat een pseudoniem is voor --delete --force , die de branch verwijdert "ongeacht de gecombineerde status". [Bron: man git-branch ]

Verwijder verwijderde thread [Bijgewerkt 8 september 2017]

Beginnend met Git v1.7.0 , kunt u een verwijderde tak verwijderen met

 $ git push <remote_name> --delete <branch_name> 

wat is gemakkelijker te onthouden dan

 $ git push <remote_name> :<branch_name> 

die is toegevoegd in Git v1.5.0 "om een ​​verwijderde tak of tag te verwijderen".

Beginnend in Git v2.8.0, kun je ook git push met -d als het alias voor --delete .

De versie van Git die u hebt geïnstalleerd, bepaalt dus of u een eenvoudiger of complexere syntax moet gebruiken.

Verwijder de verwijderde tak [Oorspronkelijke reactie van 5 januari 2010]

Van hoofdstuk 3 van Pro Git door Scott Chacon:

Verwijderde takken verwijderen

Stel dat je een remote branch hebt bereikt - bijvoorbeeld, jij en je medewerkers hebben een functie gekregen en gecombineerd met je hoofdtak van de remote (of een andere branch die je stabiele regel code bevat). Je kunt een remote branch verwijderen met de nogal stompe syntax van git push [remotename] :[branch] . Als u de serverpatchtak van de server wilt verwijderen, doet u het volgende:

 $ git push origin :serverfix To git@github.com:schacon/simplegit.git - [deleted] serverfix 

Boom. Geen takken meer op uw server. Wellicht wilt u deze pagina bekijken omdat u deze opdracht nodig heeft en u de syntaxis waarschijnlijk zult vergeten. Om dit commando te onthouden, git push [remotename] [localbranch]:[remotebranch] syntaxis van git push [remotename] [localbranch]:[remotebranch] die we iets eerder hebben besproken. Als je het [localbranch] van [localbranch] , zeg je in feite: "Neem niets aan mijn zijde en maak het [remotebranch] ".

Ik heb git push origin :bugfix vrijgegeven git push origin :bugfix en het werkte prima. Scott Chacon had gelijk: ik wil luisteren naar deze pagina (of in feite het oor van een hond, erop reageren in Stack Overflow).

Dan moet je het op andere machines doen.

 git fetch --all --prune 

de wijzigingen doorgeven.

17997
05 янв. Het antwoord wordt gegeven door Matthew Rankin 05 januari 2010-01-05 04:13 '10 om 4:13 2010-01-05 04:13

Het antwoord van Matthew is geweldig voor het verwijderen van verwijderde takken, en ik ben ook dankbaar voor de uitleg, maar voor het simpele verschil tussen de twee opdrachten:

Om een ​​lokale vestiging te verwijderen Vanaf je apparaat:

git branch -d {the_local_branch} (gebruik -D plaats van met geweld een branch te verwijderen zonder de samengevoegde status te controleren)

Om een remote branch server van een server te verwijderen:

git push origin --delete {the_remote_branch}

Link: https://makandracards.com/makandra/621-git-delete-a-branch-local-or-remote

2944
12 июня '12 в 17:51 2012-06-12 17:51 het antwoord wordt gegeven door Eric Brotto op 12 juni '12 om 17:51 uur 2012-06-12 17:51

Korte antwoorden

Zie de >

Een extern filiaal verwijderen:

 git branch --delete <branch> git branch -d <branch> # Shorter version git branch -D <branch> # Force delete un-merged branches 

Een lokale remote tracking-tak verwijderen:

1697
30 мая '14 в 21:32 2014-05-30 21:32 het antwoord is gegeven door user456814 30 mei '14 om 21:32 2014-05-30 21:32

Stappen om een ​​filiaal te verwijderen:

om een remote branch te verwijderen :

 git push origin --delete <your_branch> 

Als u een lokaal filiaal wilt verwijderen , heeft u drie opties :

 1: git branch -D <branch_name> 2: git branch --delete --force <branch_name> //same as -D 3: git branch --delete <branch_name> //error on unmerge 

Leg uit: nou, leg gewoon uit wat hier gebeurt!

Voer git push origin --delete - verwijder ALLEEN de verwijderde branch , voeg de naam van de branch aan het einde toe, en het zal beide verwijderen en naar de remote branch sturen ...

Ook git branch -D , die ALLEEN de lokale branch verwijdert! ...

-D betekent --delete --force die een vertakking verwijdert, zelfs als deze niet is samengevoegd (geforceerd verwijderen), maar u kunt ook -D wat betekent --delete dat --delete fout die overeenkomt met de status van het samenvoegen van de vertakking ...

Ik maak ook een afbeelding hieronder om de stappen te tonen:

2019

U kunt ook het volgende gebruiken om een ​​verwijderde vertakking te verwijderen.

 git push --delete origin serverfix 

Wat hetzelfde doet als

 git push origin :serverfix 

maar het is misschien makkelijker om te onthouden.

719
28 окт. gegeven antwoord pagetribe 28 okt. 2011-10-28 01:22 '11 om 1:22 2011-10-28 01:22

Als u een filiaal wilt verwijderen, gaat u eerst naar een andere tak dan de tak die u wilt verwijderen.

 git checkout other_than_branch_to_be_deleted 

Een lokaal filiaal verwijderen:

 git branch -D branch_to_be_deleted 

Een extern filiaal verwijderen:

 git push origin --delete branch_to_be_deleted 
350
07 окт. Antwoord van Praveen Hiremath 07 oktober 2014-10-07 16:52 '14 om 16:52 2014-10-07 16:52

Tip: bij het verwijderen van takken met

 git push origin :<branchname> # deletes remote branch 

Alleen links worden verwijderd. Ondanks dat het filiaal daadwerkelijk is verwijderd, bestaan ​​er nog steeds koppelingen naar dit filiaal in de lokale archieven van uw teamleden. Dit betekent dat voor andere teamleden, remote branches nog steeds zichtbaar zijn wanneer ze git branch -a .

Om dit probleem op te lossen, kunnen leden van uw team verwijderde takken verwijderen met behulp van

 git remote prune <repository> 

Dit is meestal de oorsprong van git remote prune origin .

338
07 нояб. het antwoord wordt gegeven pfrenssen 07 nov. 2012-11-07 16:02 '12 om 16:02 uur 2012-11-07 16:02
 git branch -D <name-of-branch> git branch -D -r origin/<name-of-branch> git push origin :<name-of-branch> 
250
24 окт. Het antwoord is Felipe 24 okt gegeven. 2013-10-24 20:36 '13 om 20:36 uur 2013-10-24 20:36

Het is simpel: voer gewoon de volgende opdracht uit:

Om een ​​Git branch zowel lokaal als op afstand te verwijderen, verwijdert u eerst de lokale branch met behulp van de opdracht:

 git branch -d example 

(hier is example de naam van het filiaal)

En verwijder vervolgens de verwijderde tak met de opdracht:

 git push origin :example 
215
15 февр. antwoord gegeven door Syeful Islam op 15 februari 2015-02-15 18:20 '15 om 18:20 2015-02-15 18:20

Een andere benadering:

 git push --prune origin 

OPGELET: hierdoor worden alle externe filialen verwijderd die niet lokaal bestaan. Of meer uitgebreid,

 git push --mirror 

maak de remote repository effectief als een lokale kopie van de repository (lokale headers, afstandsbedieningen en tags worden weerspiegeld op de afstandsbediening).

181
18 нояб. Antwoord gegeven door imanuelcostigan op 18 nov. 2012-11-18 09:11 '12 om 9:11 2012-11-18 09:11

Ik gebruik het volgende in mijn bash- instellingen:

 alias git-shoot="git push origin --delete" 

Dan kunt u bellen:

 git-shoot branchname 
152
03 апр. Het antwoord is gegeven crizCraig 03 apr. 2013-04-03 01:11 '13 om 1:11 2013-04-03 01:11

Sinds januari 2013 heeft GitHub de knop Tak verwijderen toegevoegd naast elke tak op de pagina "Takken".

Passende blogpost: filialen maken en verwijderen

120
29 апр. het antwoord wordt gegeven door Nacho Coloma op 29 april 2013-04-29 13:39 '13 om 13:39 2013-04-29 13:39

Als je deze beide acties met één commando wilt uitvoeren, kun je er een alias voor gebruiken door je ~/.gitconfig hieronder toe te voegen aan je:

 [alias] rmbranch = "!f(){ git branch -d ${1}  git push origin --delete ${1}; };f" 

Als alternatief kunt u dit toevoegen aan uw globale configuratie vanaf de opdrachtregel met

112
15 янв. Antwoord van Ryan Kohn op 15 januari 2013-01-15 22:05 '13 om 10:05 uur 2013-01-15 22:05

Om een ​​filiaal lokaal en op afstand te verwijderen

  • Koop een aankoop in de branch - git checkout master

  • Verwijder de remote branch - git push origin --delete <branch-name>

  • Verwijder de lokale branch - git branch --delete <branch-name>

106
04 янв. het antwoord is gegeven mfathy00 04 januari 2016-01-04 00:08 '16 om 0:08 2016-01-04 00:08

Lokaal verwijderen:

Als u een lokaal filiaal wilt verwijderen, kunt u het volgende gebruiken:

 git branch -d <branch_name> 

Om een ​​tak te dwingen om te verwijderen, gebruikt u -D plaats van -D .

 git branch -D <branch_name> 

Van op afstand verwijderen:

Er zijn twee opties:

 git push origin :branchname git push origin --delete branchname 

Ik zou willen voorstellen om de 2e methode te gebruiken, omdat deze intuïtiever is.

103
23 мая '15 в 11:56 2015-05-23 11:56 het antwoord wordt gegeven door Rahul Gupta 23 mei '15 om 11:56 2015-05-23 11:56

U kunt dit ook doen met behulp van git remote prune origin

 $ git remote prune origin Pruning origin URL: git@example.com/yourrepo.git * [pruned] origin/some-branchs 

Het verwijdert remote tracking branches uit de git branch -r lijst.

97
12 марта '13 в 17:57 2013-03-12 17:57 het antwoord is nickleefly 12 maart '13 om 17:57 2013-03-12 17:57

Naast andere antwoorden, gebruik ik vaak de tool git_remote_branch . Dit is een optionele installatie, maar het biedt u een handige manier om te communiceren met externe filialen. Verwijder in dit geval:

 grb delete branch 

Ik merk dat ik ook vaak de publish en track opdrachten gebruik.

95
24 марта '12 в 5:21 2012-03-24 05:21 het antwoord wordt gegeven u2622 24 maart '12 om 5:21 2012-03-24 05:21

Takken verwijderen

Stel dat ons werk in de "contact-vorm" -branche compleet is en we hebben het al in de "meester" geïntegreerd. Aangezien we het niet >

 $ git branch -d contact-form 

En om een ​​remote branch te verwijderen:

 git push origin --delete contact-form 
86
30 окт. het antwoord wordt gegeven aan Ulysses Alves 30 okt. 2015-10-30 15:39 '15 om 15:39 2015-10-30 15:39

Eén voeringopdracht verwijdert zowel lokaal als extern:

D=branch-name; git branch -D $D; git push origin :$D

of voeg een bijnaam toe onder ~ / .gitconfig; gebruik: git kill branch-name

 [alias] kill = "!f(){ git branch -D \"$1\"; git push origin --delete \"$1\"; };f" 
85
17 нояб. Het antwoord wordt gegeven door Vinnie James nov. 17. 2016-11-17 04:03 '16 om 4:03 2016-11-17 04:03

Verwijder een remote branch

git push origin :<branchname>

Verwijder lokale vestiging

git branch -D <branchname>

Verwijder lokale overgangsstappen:

  • controleer een andere tak
  • verwijder lokale branch
82
31 дек. het antwoord wordt gegeven jayxhj 31 dec. 2015-12-31 12:22 '16 om 12:22 2015-12-31 12:22

Zeg gewoon:

 git branch -d <branch-name> git push origin :<branch-name> 
80
23 апр. antwoord gegeven door piyushmandovra op 23 april 2015-04-23 21:06 '15 om 21:06 2015-04-23 21:06

Nu kunt u dit doen met de GitHub Desktop-applicatie .

Na het starten van de applicatie

  • Klik op het project met de branch
  • Ga naar de tak die u wilt verwijderen. 2019
22 окт. Antwoord wordt gegeven door Eric op 22 oktober. 2015-10-22 10:38 '15 om 10:38 2015-10-22 10:38

Om lokaal te verwijderen - (Normaal),

 git branch -d my_branch 

Als uw filiaal bezig is met herstel / samenvoegen en dat deze niet correct is uitgevoerd, ontvangt u een Rebase/Merge in progress , zodat u in dit geval uw filiaal niet kunt verwijderen.

Dus ofwel je behoefte om overflow / merge toe te staan, anders kun je met geweld verwijderen

 git branch -d my_branch 

Verwijderen in Remote:

 git push --delete origin my_branch 

kan hetzelfde gebruiken

 git push origin :my_branch # easy to remember both will do the same. 

Grafische presentatie

2019

 git push origin --delete <branch Name> 

gemakkelijker te onthouden dan

 git push origin :branchName 
68
02 мая '15 в 13:59 2015-05-02 13:59 het antwoord is gegeven Smila 02 mei '15 om 13:59 2015-05-02 13:59

Dit werkt niet als u een tag heeft met dezelfde naam als de afstandsbedieningsaftakking:

 $ git push origin :branch-or-tag-name error: dst refspec branch-or-tag-name matches more than one. error: failed to push some refs to 'git@github.com:SomeName/some-repo.git' 

In dit geval moet u opgeven dat u de branch wilt verwijderen, niet de tag:

 git push origin :refs/heads/branch-or-tag-name 

Evenzo, om een ​​tag te verwijderen in plaats van een branch, moet je gebruiken:

 git push origin :refs/tags/branch-or-tag-name 
60
29 июля '14 в 12:02 2014-07-29 12:02 het antwoord is gegeven Amiramix 29 juli '14 om 12:02 2014-07-29 12:02

Ik was geïrriteerd om achter dit antwoord te kijken, dus deed ik een soortgelijke benadering als het antwoord dat crizCraig eerder had gepubliceerd.

Het volgende is toegevoegd aan mijn bashprofiel:

 function gitdelete(){ git push origin --delete $1 git branch -D $1 } 

Elke keer als ik dit doe met een filiaal (bijvoorbeeld samenvoegen in een master ), voer ik het volgende uit op mijn terminal:

 gitdelete my-branch-name 

... die vervolgens my-branch-name uit origin als lokaal verwijdert.

48
10 февр. Het antwoord is gegeven door arthurakay 10 feb. 2016-02-10 22:47 '16 om 22:47 uur 2016-02-10 22:47

Veel andere antwoorden zullen leiden tot fouten / waarschuwingen. Deze benadering is relatief ten opzichte van git branch -D branch_to_delete hoewel je nog steeds git branch -D branch_to_delete nodig git branch -D branch_to_delete als deze niet volledig is samengevoegd, bijvoorbeeld in some_other_branch .

 git checkout some_other_branch git push origin :branch_to_delete git branch -d branch_to_delete 

Verwijderen is niet vereist als u een verwijderde tak verwijdert. Het werd alleen gebruikt om de meest geavanceerde afstandsbedieningen te verkrijgen die beschikbaar zijn in de opslag die u bijhoudt. Ik merkte dat git fetch consoles zal toevoegen, niet zal verwijderen. Hier is een voorbeeld van wanneer git remote prune origin echt iets doet:

Gebruiker A voert de hierboven beschreven stappen uit. Gebruiker B voert de volgende opdrachten uit om de meest recente externe branches te bekijken.

 git fetch git remote prune origin git branch -r 
47
27 нояб. Het antwoord wordt gegeven door Brandon Cook 27 november. 2013-11-27 06:04 '13 om 6:04 2013-11-27 06:04

Voor het uitvoeren

 git branch --delete <branch> 

zorg ervoor dat u eerst definieert wat EXACT de naam is van de remote branch door het uitvoeren van:

 git ls-remote 

Dit zal u vertellen wat u EXACT moet invoeren voor de waarde van <branch> . ( branch hoofdlettergevoelig!)

44
21 мая '16 в 0:42 2016-05-21 00:42 antwoord gegeven door joey 21 mei '16 om 0:42 2016-05-21 00:42
 git push origin :bugfix # Deletes remote branch git branch -d bugfix # Must delete local branch manually 

Als u zeker weet dat u het wilt verwijderen, voert u het uit

 git branch -D bugfix 

Nu worden externe remote vertakkingen gewist.

 git remote prune origin 
43
21 апр. het antwoord is gegeven Vivek 21 apr. 2016-04-21 19:49 '16 om 19:49 uur 2016-04-21 19:49

Mashup alle andere antwoorden. Vereist Ruby 1.9.3+ , alleen getest onder OS X.

Noem dit bestand git-remove , maak het uitvoerbaar en leg het op je pad. Gebruik dan bijvoorbeeld git remove temp .

41
20 нояб. het antwoord wordt gegeven Dan Rosenstark 20 nov. 2013-11-20 00:02 '13 om 0:02 2013-11-20 00:02
  • 1
  • 2

Zie andere vragen over tags of Stel een vraag