git remote prune origin
作用
同步服务器信息,然后精简本地数据
推荐使用git gc
场景
本人遇到场景,项目到固定阶段,远程的个别分支已经被删除,但是本地仍存在(实际已经无存在意义)。
- 本地现状为
$ git branch -a * br br1 master remotes/origin/HEAD -> origin/master remotes/origin/br remotes/origin/br1 remotes/origin/master
- 本地依然存在,但是pull会异常
$ git pull --rebase origin br1 fatal: couldn't find remote ref br1
- 此刻需要同步仓库信息,精简本地数据
$ git remote prune origin Pruning origin URL: ****.git * [pruned] origin/br1
- 此时查看分支状态为
$ git branch -a * br br1 master remotes/origin/HEAD -> origin/master remotes/origin/br remotes/origin/master
- 分析
remote/origin已经与服务器仓库同步,已经不存在br1分支,自己本地分支删除即可
解决
git remote prune origin
参数:
-n --dry-run
不要删除任何东西; 只是报告它会删除什么。
-v --verbose
报告所有移除的对象。
本文来自博客园,作者:flxx,转载请注明原文链接:https://www.cnblogs.com/faithlocus/p/16866448.html