Kaip pašalinti „Git“ filialą tiek vietiniu, tiek nuotoliniu būdu?

Noriu ištrinti filialą tiek vietiniu, tiek nuotolinio projekto „ GitHub“ kištuku.

Nepavyko ištrinti ištrintos šakos

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

Ką turėčiau daryti kitaip, kad sėkmingai pašalintumėte remotes/origin/bugfix tiek vietiniu remotes/origin/bugfix tiek „GitHub“?

14380
05 янв. Matthew Rankin užfiksavo sausio 05 d 2010-01-05 04:12 '10, 4:12, 2010-01-05 04:12
@ 40 atsakymų
  • 1
  • 2

Į savo .gitconfig failą .gitconfig šiuos slapyvardžius. Tai leidžia man pašalinti filialus su filialo pavadinimu arba be jo. Numatytojo filialo pavadinimas yra toks pat, kaip ir dabartinė filialas, jei argumentas nepriimamas.

 [alias] branch-name = rev-parse --abbrev-ref HEAD rm-remote-branch = !"f() { branch=${1-$(git branch-name)}; git push origin :$branch; }; f" rm-local-branch = !"f() { branch=${1-$(git branch-name)}; git checkout master; git branch -d $branch; }; f" rm-branch-fully = !"f() { branch=${1-$(git branch-name)}; git rm-local-branch $branch; git rm-remote-branch $branch; }; f" 
38
22 февр. Atsakymą pateikė Jaredas Knippas 22 vasaris. 2017-02-22 20:20 '17 ne 20:20 2017-02-22 20:20

Alternatyvi komandinės eilutės parinktis ištrinti ištrintus filialus yra „ GitHub“ filialo puslapis.

Žr., Pvz .: https://github.com/angular/angular.angulars / branches

border=0

Rasta Code → „GitHub“ saugyklos skyriuje.

Paprastai renkuosi komandų eilutę, tačiau šis „ GitHub“ puslapis parodo daugiau informacijos apie filialus, pvz., Paskutinę atnaujintą datą ir vartotoją , ir numeris nukelia jus į priekį ir atsilieka . Tai naudinga dirbant su daugybe šakų.

31
05 февр. atsakymas duotas Bradley Flood 05 Feb. 2016-02-05 02:34 '16 at 2:34 am 2016-02-05 02:34

Taip pat turėjau panašių problemų, ir atrodo, kad tai veikia: tai pašalina vietinį skyrių. git branch -d the_local_branch

Ištrinkite nuotolinį filialo git push origin :the_remote_branch

Šaltinis: Žemėlapiai Makandry

30
02 мая '16 в 13:37 2016-05-02 13:37 atsakymą pateikė Srijan Karki 02 gegužės 16 d. 13:37 2016-05-02 13:37

Yra geras atsakymas, bet tuo atveju, jei turite tonų filialų, juos ištrinti po vieną vietiniu būdu ir nuotoliniu būdu būtų sunku atlikti. Šį scenarijų galite naudoti šioms užduotims automatizuoti.

 branch_not_delete=( "master" "develop" "our-branch-1" "our-branch-2") for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master`; do # delete prefix remotes/origin/ from branch name branch_name="$(awk '{gsub("remotes/origin/", "");print}' <<< $branch)" if ! [[ " ${branch_not_delete[*]} " == *" $branch_name "* ]]; then # delete branch remotly and locally git push origin :$branch_name fi done 
  • Filialų, kurių nenorite ištrinti, sąrašas
  • Iteracijos per nutolusių objektų šakas ir, jei jos nėra mūsų „įrašymo sąraše“, mes ištrinome.

Šaltinis: pašalinti-git-branches-at-egyszer

27
04 авг. atsakymas pateikiamas levi 04 rug. 2016-08-04 23:15 '16 at 11:15 pm 2016-08-04 23:15

Naudodami „ GitBash“ galite atlikti šiuos veiksmus:

 git branch --delete <branch> 

Or

„GitHub“ darbalaukyje, kai pažymėjote filialą, galite atšaukti vietinį filialą per šakos meniu juostą:

2019

13 февр. Atsakymą pateikė Uchiha Itachi , vasario 13 d. 2017-02-13 00:25 '17 - 0:25 2017-02-13 00:25

Pagal naujausią dokumentą, naudojant terminalą, galime ištrinti šį kelią.

ištrinti vietoje:

 git branch -D usermanagement 

ištrinti tolimoje vietoje:

 git push --delete origin usermanagement 
20
23 окт. Atsakymas pateikiamas KARTHIKEYAN.A 23 okt. 2017-10-23 14:23 '17, 14:23 pm 2017-10-23 14:23

.Bash_aliases faile sukūriau šią patogią funkciją:

 git-delete-branch() { if [[ -n $1 ]]; then git checkout master > /dev/null; branch_name="$1"; echo "Deleting local $branch_name branch..."; git branch -D "$branch_name"; echo "Deleting remote $branch_name branch..."; git push origin --delete "$branch_name"; git remote prune origin; echo "Your current branches are:"; git branch -a; else echo "Usage: git-delete-branch <branch_name>"; fi } 
19
25 сент. atsakymą pateikė Vagelis Prokopiou 25 sep . 2017-09-25 22:20 '17, 10:20 pm 2017-09-25 22:20

Tai labai paprasta

Nuotolinio filialo trynimas

 git push -d origin <branch-name> 

Or

 git push origin :<branch-name> 

Jei norite pašalinti vietinį skyrių

 git branch -D <branch-name> 
17
07 дек. Atsakymą pateikė Vivek Maru 07 d. 2017-12-07 16:29 '17, 16:29 pm 2017-12-07 16:29

Baze naudoju šiuos nustatymus:

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

Tada galite skambinti:

 git-shoot branchname 
10
21 авг. Atsakymas buvo pateiktas Didi 21 rugpjūčio mėn. 2017-08-21 12:10 '17, 12:10 pm 2017-08-21 12:10

Šios komandos geriausiai tinka man:

 git branch -D <branch name> 
-12
19 мая '17 в 19:07 2017-05-19 19:07 atsakymas pateikiamas KawaiKx gegužės 19, 17 d. 19:07
  • 1
  • 2

Kiti klausimai apie tags arba užduoti klausimą