在開(kāi)發(fā)新功能或修復(fù) bug 時(shí), 會(huì)從 master 上新建 branch 來(lái)處理, 當(dāng)完成后會(huì)將這個(gè) branch 推送到 origin 中, 如:
git push origin <branch name>:<branch name>.
origin 審核代碼沒(méi)有問(wèn)題后就會(huì) 合并分支并刪除, 但 本地 在 git pull 刪除本地分支后, 仍能通過(guò) git branch -a 看到這個(gè) branch 的 origin ref.
日積月累之下本地就會(huì)有很多這樣無(wú)用的 branch ref, 很是讓人厭煩, 遂在此記錄清理的方法.
GIT REMOTE
使用 git remote prune origin 就可以清除無(wú)用的 branch ref, 如果在命令后面加上 --dry-run 則可以看到哪些 branch 將被清除, 不會(huì)做清除動(dòng)作.
在檢查無(wú)誤后就可以執(zhí)行 git remote prune origin 清除了.
GIT FETCH
git fetch 也提供了 -p, --prune 選項(xiàng)用來(lái)在 fetch 之前清除無(wú)用 branch, 同時(shí)提供了 -P, --prune-tags 選項(xiàng)用來(lái)清除無(wú)用的 tag.
當(dāng)然也支持 --dry-run 選項(xiàng).
更多詳細(xì)內(nèi)容請(qǐng)閱讀 git-fetch 手冊(cè)的 PRUNING 段.