Paano tanggalin ang isang sangay ng Git parehong lokal at malayo?

Gusto kong tanggalin ang isang sangay parehong lokal at sa aking remote plug proyekto sa GitHub .

Hindi ma-delete ang tinanggal na branch

 $ 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. 

Ano ang kai>remotes/origin/bugfix parehong lokal at sa GitHub?

14380
05 янв. Itinakda ni Matthew Rankin sa Enero 05 2010-01-05 04:12 '10 sa 4:12 2010-01-05 04:12
@ 40 sagot
  • 1
  • 2

Buod ng eksperimento

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

Tandaan na sa karamihan ng mga kaso ang pinagaling na pangalan ay origin .

Tanggalin ang lokal na sangay

Upang magtanggal ng lokal na sangay, gamitin ang isa sa mga sumusunod:

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

Tandaan Ang -d parameter ay isang sagisag-panulat para sa --delete , na tinatanggal ang isang sangay lamang kung ito ay ganap na pinagsama sa branch ng magu>-d , na isang alyas para sa - --delete --force , na nagtatanggal ng sangay na "anuman ang pinagsamang katayuan nito". [Pinagmulan: man git-branch ]

Tanggalin ang tinanggal na thread [Nai-update Setyembre 8, 2017]

Simula sa Git v1.7.0 , maaari mong tanggalin ang isang tinanggal na sangay gamit

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

kung ano ang maaaring maging mas madaling matandaan kaysa

 $ git push <remote_name> :<branch_name> 

na idinagdag sa Git v1.5.0 "upang alisin ang isang tinanggal na branch o tag".

Simula sa Git v2.8.0, maaari mo ring gamitin ang git push may -d bi>--delete .

Kaya, ang bersyon ng Git na iyong na-install ay matukoy kung kai>

Tanggalin ang isang tinanggal na sangay [Orihinal na tugon na may petsang Enero 5, 2010]

Mula sa Kabanata 3 ng Pro Git ni Scott Chacon:

Tinatanggal ang mga natanggal na sanga

Ipagpalagay na natapos mo na ang isang malayuang sangay - sabihin mo, ikaw at ang iyong mga tumutulong ay natapos na may isang function at pinagsama ito sa iyong pangunahing sangay ng remote (o anumang iba pang sangay na naglalaman ng iyong matatag na linya ng code). Maaari mong tanggalin ang isang remote branch gamit ang halip na mapurol na syntax ng git push [remotename] :[branch] . Kung nais mong alisin ang patch ng server mula sa server, gawin ang mga sumusunod:

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

Boom Wala nang mga sanga sa iyong server. Baka gusto mong tingnan ang pahinang ito dahil kai>git push [remotename] [localbranch]:[remotebranch] syntax git push [remotename] [localbranch]:[remotebranch] syntax ay git push [remotename] [localbranch]:[remotebranch] na aming sinuri nang kaunti ng mas maaga. Kung ikaw ang [localbranch] bahagi ng [localbranch] , pagkatapos ay karaniwang sabihin: "Huwag kang kunin at gawin itong [remotebranch] ".

Inilabas ko ang git push origin :bugfix at nagtrabaho ito pagmultahin. Tama si Scott Chacon - gusto kong pakinggan ang pahinang ito (o, sa katunayan, tainga ng aso, pagtugon dito sa Stack Overflow).

Pagkatapos ay kai>

 git fetch --all --prune 

magpalaganap ng mga pagbabago.

17997
05 янв. Ang sagot ay ibinigay ni Matthew Rankin 05 Ene 2010-01-05 04:13 '10 sa 4:13 2010-01-05 04:13

Ang sagot ni Matthew ay mahusay para sa pagtanggal ng natanggal na sanga, at nagpapasalamat din ako sa paliwanag, ngunit para sa simpleng pagkakaiba sa pagitan ng dalawang utos:

Upang alisin ang isang lokal na sangay Mula sa iyong device:

git branch -d {the_local_branch} (gamitin -D halip na sapilitang pag-alis ng isang sangay nang wa>border=0

Upang alisin ang isang remote server ng sangay mula sa isang server:

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 ang sagot ay ibinigay ni Eric Brotto noong Hunyo 12 '12 sa 17:51 2012-06-12 17:51

Maikling sagot

Kung nais mo ng mas detalyadong paliwanag ng mga sumusunod na utos, tingnan ang mahabang sagot sa susunod na seksyon.

Tinatanggal ang isang remote na sangay:

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

Tinatanggal ang isang lokal na remote tracking branch:

1697
30 мая '14 в 21:32 2014-05-30 21:32 ang sagot ay ibinigay ng user456814 Mayo 30 '14 sa 21:32 2014-05-30 21:32

Mga hakbang upang alisin ang isang sangay:

upang tanggalin ang isang remote na sangay:

 git push origin --delete <your_branch> 

Upang tanggalin ang isang lokal na sangay, mayroon kang tatlong mga pagpipilian :

 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 

Ipaliwanag: mabuti, ipaliwanag >

Lamang execute git push origin --delete - tanggalin upang tanggalin LAMANG ang tinanggal na sangay , idagdag ang pangalan ng sangay sa dulo, at ito ay parehong tanggalin at ipadala ito sa remote branch ...

Gayundin, git branch -D , na simpleng tinatanggal lamang ang lokal na branch! ...

-D nangangahulugang - --delete --force na nagtatanggal ng isang sangay, kahit na hindi ito pinagsama (sapilitang pagtanggal), ngunit maaari mo ring gamitin -D na nangangahulugang - i- --delete kung saan - --delete error na tumutugma sa estado ng pagsasama ng sangay ...

Gumawa din ako ng isang imahe sa ibaba upang ipakita ang mga hakbang:

2019

Maaari mo ring gamitin ang sumusunod upang alisin ang isang tinanggal na branch.

 git push --delete origin serverfix 

Alin ang parehong bagay gaya ng

 git push origin :serverfix 

ngunit maaaring mas madaling matandaan.

719
28 окт. sagot na ibinigay pagetribe Oktubre 28. 2011-10-28 01:22 '11 sa 1:22 2011-10-28 01:22

Kung nais mong tanggalin ang isang sangay, lumabas muna sa isang sangay maliban sa sangay na nais mong tanggalin.

 git checkout other_than_branch_to_be_deleted 

Pagtanggal ng lokal na sangay:

 git branch -D branch_to_be_deleted 

Tinatanggal ang isang remote na sangay:

 git push origin --delete branch_to_be_deleted 
350
07 окт. ang sagot ay ibinigay ni Praveen Hiremath Oktubre 07 2014-10-07 16:52 '14 sa 16:52 2014-10-07 16:52

Tip: kapag tinatanggal ang mga sanga

 git push origin :<branchname> # deletes remote branch 

Tanging ang mga link ay tinanggal. Kahit na ang sangay ay talagang tinanggal, ang mga link dito ay umiiral pa rin sa mga lokal na repository ng mga miyembro ng iyong koponan. Nangangahulugan ito na para sa iba pang mga miyembro ng koponan, ang mga malayong sanga ay nakikita pa rin kapag ginagawa nila ang git branch -a .

Upang malutas ang problemang ito, maaaring tanggalin ng mga miyembro ng iyong koponan ang natanggal na mga sangay gamit

 git remote prune <repository> 

Ito ay karaniwang git remote prune origin .

338
07 нояб. ang sagot ay ibinigay pfrenssen Nobyembre 7. 2012-11-07 16:02 '12 sa 4:02 ng umaga 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 окт. sumagot na ibinigay kay Felipe Oktubre 24. 2013-10-24 20:36 '13 sa 8:36 ng 2013-10-24 20:36

Simple >

Upang alisin ang isang sangay ng Git parehong lokal at malayo, alisin muna ang lokal na sangay gamit ang utos:

 git branch -d example 

( example dito ay ang pangalan ng sangay)

At pagkatapos nito, tanggalin ang tinanggal na branch gamit ang command:

 git push origin :example 
215
15 февр. sumagot sa Syeful Islam Peb. 15 2015-02-15 18:20 '15 sa 18:20 2015-02-15 18:20

Isa pang paraan:

 git push --prune origin 

Pansinin: Ito ay magtatanggal ng lahat ng mga remote na sanga na hindi umiiral sa isang lugar. O mas malawak,

 git push --mirror 

epektibong gawin ang mga remote repository hitsura ng isang lokal na kopya ng repository (lokal na mga header, remotes at mga tag ay makikita sa remote).

181
18 нояб. Sagot na ibinigay ng imanuelcostigan 18 Nob. 2012-11-18 09:11 '12 sa 9:11 2012-11-18 09:11

Ginagamit ko ang mga sumusunod sa aking mga setting ng bash :

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

Pagkatapos ay maaari kang tumawag sa:

 git-shoot branchname 
152
03 апр. Ang sagot ay ibinigay crizCraig Abril 03. 2013-04-03 01:11 '13 sa 1:11 2013-04-03 01:11

Mula noong Enero 2013, isinama ng GitHub ang pindutan ng Delete branch sa tabi ng bawat sangay sa pahina ng "Mga Sangay".

Ang nauugnay na post sa blog: paglikha at pagtanggal ng mga sanga

120
29 апр. ang sagot ay ibinigay ni Nacho Coloma noong Abril 29 2013-04-29 13:39 '13 sa 13:39 2013-04-29 13:39

Kung nais mong isagawa ang parehong mga aksyon na ito sa isang command, maaari mong i-alias ito sa pamamagitan ng pagdaragdag ng iyong ~/.gitconfig ibaba sa iyong:

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

Bi>

112
15 янв. Sumagot na ibinigay ni Ryan Kohn noong Enero 15 2013-01-15 22:05 '13 sa 10:05 ng 2013-01-15 22:05

Upang tanggalin ang isang sangay nang lokal at malayo

  • Gumawa ng isang pagbili sa branch - git checkout master

  • Tanggalin ang remote branch - git push origin --delete <branch-name>

  • Tanggalin ang lokal na branch - git branch --delete <branch-name>

106
04 янв. ang sagot ay ibinigay mfathy00 Jan 04 2016-01-04 00:08 '16 sa 0:08 2016-01-04 00:08

Magtanggal nang lokal:

Upang magtanggal ng isang lokal na sangay, maaari mong gamitin ang:

 git branch -d <branch_name> 

Upang pilitin ang isang sangay na tanggalin, gamitin -D halip ng -D .

 git branch -D <branch_name> 

Tanggalin nang malayuan:

Mayroong dalawang mga pagpipilian:

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

Gusto ko iminumungkahi mong gamitin ang 2nd na paraan, dahil ito ay mas madaling maunawaan.

103
23 мая '15 в 11:56 2015-05-23 11:56 ang sagot ay ibinigay ni Rahul Gupta Mayo 23, '15 sa 11:56 2015-05-23 11:56

Maaari mo ring gawin ito gamit ang git remote prune origin

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

Tinatanggal at inaalis nito ang mga remote tracking branch mula sa listahan ng git branch -r .

97
12 марта '13 в 17:57 2013-03-12 17:57 ang sagot ay ibinigay nickleefly Marso 12 '13 sa 17:57 2013-03-12 17:57

Bi>git_remote_branch . Ito ay isang opsyonal na pag-install, ngunit nagbibigay ito sa iyo ng isang madaling paraan upang makipag-ugnayan sa mga remote na sanga. Sa kasong ito, tanggalin ang:

 grb delete branch 

Nakikita ko rin na madalas kong ginagamit ang mga pag- publish at track utos.

95
24 марта '12 в 5:21 2012-03-24 05:21 ang sagot ay ibinigay u2622 Marso 24 '12 sa 5:21 2012-03-24 05:21

Pagtanggal ng mga sanga

Ipagpalagay na ang aming trabaho sa "contact-form" branch ay kumpleto na, at isinama na namin ito sa "master". Dahil hindi na natin kai>

 $ git branch -d contact-form 

At tanggalin ang isang remote na sangay:

 git push origin --delete contact-form 
86
30 окт. ang sagot ay binigyan ng Ulysses Alves 30 Oktubre. 2015-10-30 15:39 '15 sa 15:39 2015-10-30 15:39

Ang isang liner command ay nag-aalis ng parehong lokal at remote:

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

o magdagdag ng isang alias sa ibaba sa ~ /. gitconfig; Paggamit: git kill branch-name

 [alias] kill = "!f(){ git branch -D \"$1\"; git push origin --delete \"$1\"; };f" 
85
17 нояб. Ang sagot ay ibinigay ni Vinnie James Nobyembre 17. 2016-11-17 04:03 '16 sa 4:03. 2016-11-17 04:03

Tanggalin ang isang remote branch

git push origin :<branchname>

Tanggalin ang lokal na sangay

git branch -D <branchname>

Tanggalin ang mga lokal na hakbang sa paglipat:

  • tingnan sa isa pang branch
  • tanggalin ang lokal na sangay
82
31 дек. Ang sagot ay ibinigay jayxhj Disyembre 31. 2015-12-31 12:22 '16 sa 12:22 2015-12-31 12:22

Sabihin >

 git branch -d <branch-name> git push origin :<branch-name> 
80
23 апр. sagot na ibinigay ng piyushmandovra noong Abril 23 2015-04-23 21:06 '15 sa 21:06 2015-04-23 21:06

Ngayon ay maaari mo itong gawin sa GitHub Desktop application .

Pagkatapos simulan ang application

  • I-click ang proyektong naglalaman ng branch
  • Pumunta sa sangay na gusto mong tanggalin. 2019
22 окт. Ang sagot ay ibinigay ni Eric noong Oktubre 22. 2015-10-22 10:38 '15 sa 10:38 2015-10-22 10:38

Upang tanggalin ang lokal - (Normal),

 git branch -d my_branch 

Kung ang iyong sangay ay nasa proseso ng pagbawi / pagsasama at na hindi ito nagawa nang tama, makakatanggap ka ng Rebase/Merge in progress mensahe ng error Rebase/Merge in progress , kaya sa kasong ito ay hindi mo maalis ang iyong sangay.

Kaya, alinman sa iyong pangangai>

 git branch -d my_branch 

Upang tanggalin sa Remote:

 git push --delete origin my_branch 

maaaring gamitin ang parehong bagay

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

Graphic presentation

2019

 git push origin --delete <branch Name> 

mas madaling tandaan kaysa

 git push origin :branchName 
68
02 мая '15 в 13:59 2015-05-02 13:59 ang sagot ay ibinigay Smila 02 Mayo '15 sa 13:59 2015-05-02 13:59

Hindi ito gagana kung mayroon kang tag na may parehong pangalan tulad ng remote control branch:

 $ 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' 

Sa kasong ito, kai>

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

Katulad nito, upang alisin ang isang tag sa halip ng isang sangay, dapat mong gamitin ang:

 git push origin :refs/tags/branch-or-tag-name 
60
29 июля '14 в 12:02 2014-07-29 12:02 ang sagot ay ibinigay Amiramix Hulyo 29, '14 sa 12:02 2014-07-29 12:02

Nasisiyahan ako upang tumingin sa likod ng sagot na ito, kaya gumawa ako ng katulad na diskarte sa sagot na naunang inilathala ng crizCraig.

Ang sumusunod ay idinagdag sa aking profile ng bash:

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

Pagkatapos, sa bawat oras na gawin ko ito sa isang sangay (halimbawa, pagsasama sa isang master ), pinapatakbo ko ang mga sumusunod sa aking terminal:

 gitdelete my-branch-name 

... kung saan pagkatapos ay aalisin ang my-branch-name mula sa origin bi>

48
10 февр. Ang sagot ay ibinigay arthurakay 10 Peb. 2016-02-10 22:47 '16 sa 10:47 ng 2016-02-10 22:47

Maraming iba pang mga sagot ang hahantong sa mga error / babala. Ang diskarte na ito ay may kaugnayan sa git branch -D branch_to_delete bagaman maaari mo pa ring kai>git branch -D branch_to_delete kung ito ay hindi ganap na pinagsama, halimbawa, sa some_other_branch .

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

Hindi kinakai>git fetch ay magdaragdag ng mga console, hindi alisin ang mga ito. Narito ang isang halimbawa ng kung kailan ang git remote prune origin talagang isang bagay:

Ginagawa ng User A ang mga hakbang na inilarawan sa itaas. Patakbuhin ng User B ang mga sumusunod na utos upang makita ang pinakabagong mga sanga ng remote.

 git fetch git remote prune origin git branch -r 
47
27 нояб. Ang sagot ay ibinigay ni Brandon Cook Nobyembre 27. 2013-11-27 06:04 '13 sa 6:04 2013-11-27 06:04

Bago magsagawa

 git branch --delete <branch> 

tiyakin na una mong tukuyin kung ano ang eksaktong pangalan ng remote branch sa pamamagitan ng pagtakbo:

 git ls-remote 

Sasabihin nito sa iyo kung ano ang papasok sa eksaktong para sa halaga ng <branch> . (sensitibong branch !)

44
21 мая '16 в 0:42 2016-05-21 00:42 sagot na ibinigay ni joey noong Mayo 21, '16 sa 0:42 2016-05-21 00:42
 git push origin :bugfix # Deletes remote branch git branch -d bugfix # Must delete local branch manually 

Kung sigurado ka na gusto mong alisin ito, tumakbo

 git branch -D bugfix 

Ang pag-clear ngayon ng remote remote na sanga ay isinasagawa.

 git remote prune origin 
43
21 апр. ang sagot ay ibinigay Vivek 21 apr. 2016-04-21 19:49 '16 sa 7:49 ng 2016-04-21 19:49

Mashup lahat ng ibang mga sagot. Kinakai>Ruby 1.9.3+ , sinubok lamang sa OS X.

Pangalanan ang file na ito na git-remove , gawin itong maipapatupad at ilagay ito sa iyong landas. Pagkatapos ay gamitin, halimbawa, git remove temp .

41
20 нояб. ang sagot ay ibinigay Dan Rosenstark 20 nov. 2013-11-20 00:02 '13 sa 0:02 2013-11-20 00:02
  • 1
  • 2

Iba pang mga katanungan tungkol sa tag o Magtanong ng isang Tanong