在开发过程中我们很多时候都需要将当前分支推送到远程仓库,该分支完成其使命之后再将其删除。
使用SourceTree的同学可能会发现SourceTree追踪的远端分支越来越多,许多已经删除的分支也还在,即使从origin拉取也不行。
虽然这些不影响正常的使用,但想快速的找到一个分支还是有点麻烦的,于是我们决定清除它们。
解决方法
进入对应目录下,使用git remote show origin命令查看本地仓库追踪远程仓库的状态
使用git remote prune origin清除所有失效的远程分支或根据提示删除特定失效分支
重启SourceTree即可。
在使用git进行版本控制时,经常会创建一些特性分支方便产品功能的开发和迭代,
在远程版本库创建了一个分支后,在本地可以使用
git remote update
可以在本地创建远程追踪分支,
但是,如果在远程版本库上删除了某一分支,该命令并不会删除本地的远程追踪分支,
这时候,有另一个命令:
git remote prune
该命令可以删除本地版本库上那些失效的远程追踪分支,具体用法是,假如你的远程版本库名是 origin,则使用如下命令先查看哪些分支需要清理:
git remote prune origin --dry-run
可以看到, origin/a 和 origin/patch-1 两个远程分支已经失效,将会被清理,执行:
git remote prune origin
这样,就完成了无效的远程追踪分支的清理工作。
需要注意,这里远程追踪分支批位于.git/refs/remote/origin 下的分支,如果有本地分支作为下游存在的话,还需要手动清理,从下图的命令可以看出,无效的远程追踪分支会以gone来标识.
删除无效的本地分支命令:
git branch -d bug fix feature master4 master5 master6 origin/master7 master 8
No comments:
Post a Comment