踩到一個小坑,如果在gitlab或其他web端删除git某分支,本地pull的話并不會更新分支清單,也就是會出現遠端分支A已經被删掉了,但是在本地git bash裡面仍然能看到遠端分支A這種靈異的情況。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9UleNBTQq50MJRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLyIDN1MjMzcTMyEjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
就像這樣,本地使用branch -a 指令可以看到分支FixIECompatible,并且還可以檢出。但是想删除遠端分支的時候就報錯了,說分支不存在(事實上遠端就是不存在)。
可用如下指令重新整理分支清單,可解決此問題
git remote update origin --prune
另外還可使用如下方法檢視需要清理的本地分支
git remote prune origin --dry-run
或
git remote prune origin -n