2012-02-01 12 views
13

Per eliminare una filiale locale in git, utilizzo git branch -d, ma come rimuovere un ramo remoto in sicurezza?Come si elimina in modo sicuro un ramo git remoto?

Desidero eliminarlo solo quando il ramo remoto viene unito al ramo corrente.

+0

Perché non basta essere sicuri e unire la vostra filiale a monte con la vostra filiale locale prima di cancellarlo? – Abizern

risposta

16

La risposta è in parte coperto qui: How can I know in git if a branch has been already merged into master?

Mentre quel post affronta con sedi locali, si potrebbe trovare filiali remote che sono unite o che non utilizzano

  • git branch -r --merged per rilevare tutte le filiali remote che sono già fuse in corrente
  • git branch -r --unmerged di fare il contrario

  • git branch -r --no-merged è corretto per la nuova versione di Git e non sono sicuro che sia applicabile al vecchio git.

Una volta scoperto che una filiale remota specifico è già fusa (vale a dire che appare durante la digitazione git branch -r --merged), si potrebbe eliminarlo come Michael Krelinanswers utilizzando

git push <remote> :<remotebranchname> 

Vedi anche la documentazione del git branch per la --merged e --unmerged bandiere.

+0

grazie per aver proposto di rimuovere il downvote, non credo che 2 punti valgano il fastidio, però. Come bonus ottieni un upvote;) –

+0

Qualcuno ha un modo per automatizzare questo processo (elenca le filiali unite remote ed eliminale)? – eloyesp

+2

In git 1.8 (non so delle versioni precedenti) è '--no-merged' invece di' --unmerged'. –