最近因为公司项目的需要在研究学习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