問題

假設我的儲存庫中有一個名為coolbranch的分支.

現在,我決定刪除它(遠端和本地):

 git push origin :coolbranch
git branch -D coolbranch
 

很棒! 現在分支真的被刪除了。

但是當我跑

 git branch -a
 

我仍然得到:

 remotes/origin/coolbranch
 

需要注意的是,當我克隆一個新的儲存庫時,一切都很好,git branch -a不顯示分支.

我想知道 – 有沒有辦法在不克隆新例項的情況下從branch -a列表中刪除分支?

  最佳答案

正如另一個答案中所建議的,git remote prune origin將刪除所有這些陳舊的分支.在大多數情況下,這可能是您想要的,但如果您只想刪除那個特定的remotetack分支,您應該這樣做:

 git branch -d -r origin/coolbranch
 

(-r容易忘記....)

在這種情況下,-r將“列表或刪除(如果使用-d)遠端跟蹤分支”.根據這裡找到的git documentation: https://git-scm.com/docs/git-branch

  相同標籤的其他問題

gitgit-branch