2012-02-01 19 views
13

Aby usunąć lokalny oddział w git używam git branch -d, ale w jaki sposób bezpiecznie usunąć oddział zdalny?Jak bezpiecznie usunąć zdalny oddział git?

Chciałbym go usunąć tylko wtedy, gdy oddział zdalny zostanie scalony z moim bieżącym oddziałem.

+0

Dlaczego nie po prostu mieć pewność i scalić swój oddział upstream z lokalnym oddziale przed usunięciem? – Abizern

Odpowiedz

16

Odpowiedź jest częściowo pokryta tutaj: How can I know in git if a branch has been already merged into master?

Mimo że po radzi sobie z lokalnych oddziałów, można znaleźć zdalnych oddziałów, które są połączone lub nie używając

  • git branch -r --merged wykryć wszystkich zdalnych oddziałów, które już są połączone w bieżącym
  • git branch -r --unmerged zrobić odwrotnie

  • git branch -r --no-merged jest poprawny dla nowej wersji Git i nie jestem pewien, czy git branch -r --unmerged ma zastosowanie do starego git.

Gdy okazało się, że specyficzny zdalny oddział jest już połączone (to znaczy pojawia się po wpisaniu git branch -r --merged), można go usunąć jak Michael Krelinanswers użyciu

git push <remote> :<remotebranchname> 

Zobacz także dokumentacja git branch dla --merged i --unmerged flagi.

+0

dziękuję za propozycję usunięcia downwote, nie sądzę jednak, że 2 punkty są warte kłopotów. Jako bonus otrzymasz upvote;) –

+0

Czy ktoś sposób automatyzacji tego procesu (lista zdalnych połączonych oddziałów i je usunąć)? – eloyesp

+2

W git 1.8 (dunno o poprzednich wersjach) zamiast '--unmerged' jest' --no-merged'. –