如何删除远程版本库里面的一个特性分支?

42 views
Skip to first unread message

hoping duan

unread,
Jul 2, 2012, 3:19:47 AM7/2/12
to got...@googlegroups.com
如题,为什么我分别在远程库和本地库使用tg delete 删除一个特性分支。但是我本地使用tg remote --populate origin之后删除的特性分支又出现了。

Jiang Xin

unread,
Jul 2, 2012, 7:28:18 PM7/2/12
to got...@googlegroups.com
在 2012年7月2日星期一UTC+8下午3时19分47秒,hoping duan写道:
如题,为什么我分别在远程库和本地库使用tg delete 删除一个特性分支。但是我本地使用tg remote --populate origin之后删除的特性分支又出现了。

本地用 tg delete 删除特性分支后,用下面命令删除远程版本库中特性分支:

    $ git push origin :t/feature-branch
    $ git push origin :top-bases/t/feature-branch

如果你是在本地和服务器端都执行了 tg delete -f t/feature-branch, 本地工作区中
仍然存在 t/feature-branch 的远程分支,即存在 refs/remotes/origin/t/feature-branch
和 refs/remotes/origin/top-bases/t/feature-branch 。当执行 tg remote --populate origin
时,会调用 git fetch ,而非 git fetch --prune,该命令不会清除过时的远程分支,
导致 tg delete 删除的特性分支重现。

可以考虑扩展 tg delete 命令当提供 -r origin 参数时删除远程分支。且 tg remote --populate origin
时执行 git fetch --prune 命令,不过发现 git fetch --prune 实现有问题。

hoping duan

unread,
Jul 2, 2012, 9:16:55 PM7/2/12
to got...@googlegroups.com
了解了,谢谢。

Jiang Xin

unread,
Jul 5, 2012, 12:36:28 PM7/5/12
to got...@googlegroups.com
在 2012年7月3日星期二UTC+8上午7时28分18秒,Jiang Xin写道:
可以考虑扩展 tg delete 命令当提供 -r origin 参数时删除远程分支。且 tg remote --populate origin
时执行 git fetch --prune 命令,不过发现 git fetch --prune 实现有问题。

找到了 git fetch --prune 错误清除 refs/remotes/origin/top-bases/ 名字空间下引用的问题。
Reply all
Reply to author
Forward
0 new messages