Miten voin poistaa Git-haaran paikallisesti ja etänä?
Haluan poistaa haaran sekä paikallisesti että etänä.
Epäonnistuneet yritykset poistaa etähaara
$ 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.
Mitä minun pitäisi tehdä toisin, jotta poistaminen onnistuisi.
remotes/origin/bugfix
-haara sekä paikallisesti että etänä?
16171
3
Tiivistelmä
Huomaa, että useimmissa tapauksissa etänimi on
origin
.Delete Local Branch
Voit poistaa paikallisen haaran jollakin seuraavista tavoista:
Huomaa: Vaihtoehto
-d
on alias vaihtoehdolle--delete
, joka poistaa haaran vain, jos se on jo täysin sulautettu edeltävään haaraansa. Voit myös käyttää vaihtoehtoa-D
, joka on alias vaihtoehdolle--delete --force
, joka poistaa haaran "riippumatta sen sulautuneesta tilasta." [Lähde:man git-branch
].Delete Remote Branch [Päivitetty 8-Sep-2017]
Git v1.7.0-versiosta lähtien voit poistaa etähaaran käyttämällä komentoa
joka saattaa olla helpompi muistaa kuin
joka lisättiin Git v1.5.0 "etähaaran tai tunnisteen poistamiseen."
[Git v2.8.0][git-2.8.0] -versiosta alkaen voit myös käyttää
--delete
:n aliasina--git push
:ia-d
-optiolla.Asennettu Git-versio määrää siis sen, tarvitseeko käyttää helpompaa vai vaikeampaa syntaksia.
Delete Remote Branch [Alkuperäinen vastaus 5.1.2010]
Scott Chaconin teoksen Pro Git luvusta 3:
Annoin
git push origin: bugfix
ja se toimi hienosti. Scott Chacon oli oikeassa - haluan koirankorvata tuon sivun (tai käytännössä koirankorvata vastaamalla tähän Stack Overflow'ssa).[git-2.8.0]: https://github.com/git/git/blob/master/Documentation/RelNotes/2.8.0.txt
Sitten sinun pitäisi suorittaa tämä muilla koneilla
jotta muutokset leviävät.
Voit myös poistaa etähaaran seuraavalla tavalla
Joka tekee saman kuin
mutta se on ehkä helpompi muistaa.
Muiden vastausten lisäksi käytän usein git_remote_branch-työkalua. Se'on ylimääräinen asennus, mutta sillä saa kätevän tavan toimia etähaarojen kanssa. Tässä tapauksessa poistamiseen:
Huomaan, että käytän myös
publish
- jatrack
-komentoja melko usein