git remote update origin --prune
-
git fetch 拉取分支,远程被删除的分支不会同步删除本地origin的分支(origin/xxxx)
比如你有个本地分支feat,然后也有本地origin/feat,假设remote新增了test分支且其他人删除了remote的feat
则git fetch可以在本地产生origin/test(但没有本地分支test,这个要你checkout到test的时候才会产生),但不会删除本地的origin/feat
-
git update origin --prune:必须带有–prune,否则跟git fetch等价。除了会拉取新分支,还会删除掉别人远程删除的分支
按上面的例子,执行这个命令后可以拉取origin/test(但没有本地分支test),且删除本地的origin/feat(但不会删除你本地的分支feat)