3 回答

TA貢獻1779條經驗 獲得超6個贊
命令之后
git fetch -p
運行時刪除遠程引用
git branch -vv
它將顯示為“已離開”作為遠程狀態。例如,
$ git branch -vv
master b900de9 [origin/master: behind 4] Fixed bug
release/v3.8 fdd2f4e [origin/release/v3.8: behind 2] Fixed bug
release/v3.9 0d680d0 [origin/release/v3.9: behind 2] Updated comments
bug/1234 57379e4 [origin/bug/1234: gone] Fixed bug
因此,您可以編寫一個簡單的腳本來刪除已經轉移的本地分支:
git fetch -p && for branch in `git branch -vv | grep ': gone]' | awk '{print $1}'`; do git branch -D $branch; done

TA貢獻1828條經驗 獲得超13個贊
這些答案中的大多數實際上并未回答原始問題。我做了一堆挖掘,這是我找到的最干凈的解決方案。這是一個稍微更全面的答案:
查看您的默認分支。平時
git checkout master
跑
git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -d
說明:
通過修剪您的跟蹤分支然后刪除顯示它們“消失”的本地分支來工作git branch -vv
。
筆記:
如果您的語言設置為英語以外的其他語言,則需要更改gone
為相應的單詞。不會觸及僅限本地的分支。已在遠程刪除但未合并的分支將顯示通知但不會在本地刪除。如果你想刪除那些以及更改-d
為-D
。
- 3 回答
- 0 關注
- 804 瀏覽
添加回答
舉報