最近因为公司项目的需要在研究学习git,碰到个问题,我将远程分支直接删除了,在本地并有删除于是我用 git branch -a 还可以可以看到远程存在此分支。
$ git branch -a
master
* test
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/newcarapi-test
remotes/origin/test
remotes/origin/newcarapi-test (其实是已经删除的,但是还是存在)
使用 git remote show origin 查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
$ git remote show origin
warning: redirecting to http://gitlab.xcar.com.cn/product_library/newcar-api.git/
* remote origin
Fetch URL: http://gitlab.xcar.com.cn/product_library/newcar-api
Push URL: http://gitlab.xcar.com.cn/product_library/newcar-api
HEAD branch: master
Remote branches:
gao.feifei new (next fetch will store in remotes/origin)
master tracked
refs/remotes/origin/newcarapi-test stale (use ‘git remote prune’ to remove)
test tracked
Local branches configured for ‘git pull’:
master merges with remote master
test merges with remote test
Local refs configured for ‘git push’:
master pushes to master (fast-forwardable)
test pushes to test (up to date)
根据提示我们可以看到远程的已经不存在了,并且让使用(use ‘git remote prune’ to remove)此命令
$ git remote prune origin
warning: redirecting to http://gitlab.xcar.com.cn/product_library/newcar-api.git/
Pruning origin
URL: http://gitlab.xcar.com.cn/product_library/newcar-api
* [pruned] origin/newcarapi-test
执行完命令后再次用 git branch -a 查看,可以看到已经被删除 (git branch -r 只查看远程的分子)
$ git branch -a
master
* test
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/test