首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hg-git:删除远程分支?

hg-git:删除远程分支?
EN

Stack Overflow用户
提问于 2012-03-21 02:36:27
回答 2查看 1.4K关注 0票数 11

是否可以使用hg-git删除远程分支

我可以在本地删除标记(hg bm -d old-branch),但不清楚如何告诉git服务器执行同样的操作。

EN

回答 2

Stack Overflow用户

发布于 2012-11-23 09:58:15

这是9月9日的discussed on the Hg-Git mailing list。2012年13日。结论是,Hg-Git目前不支持删除远程Git分支,解决方法是使用单独的Git客户端删除远程分支。

我一直在努力改进Hg-Git与书签的集成,所以这一功能可能会出现在未来版本的Hg-Git中。

相关讨论:https://groups.google.com/d/topic/hg-git/Zj_-JkYsFaA/discussion

票数 6
EN

Stack Overflow用户

发布于 2016-03-15 23:06:22

这是您的hgrc的别名

如果您使用的是Posix系统,请将此别名添加到hgrc文件中:

代码语言:javascript
复制
# Example invocation:
#    hg git-delete-remote default/bad-branch
gitremotedelete = ! \
    remote=`echo $HG_ARGS | sed 's_/.*__' | sed 's_.* __'`;
    branch=`echo $HG_ARGS | sed 's_.*/__'`;
    remote_url=$($HG paths $remote | sed 's_^git+ssh://__');
    git_dir=$($HG root)/.hg/git;
    # Delete the remote branch
    git --git-dir=$git_dir push $remote_url :$branch;
    # Delete local ref to remote branch
    git --git-dir=$git_dir branch -rd $remote/$branch;
    # Delete local branch
    git --git-dir=$git_dir branch -D $branch
    echo "Don't forget to run "'`'"hg bookmark -d $branch"'`'

然后像这样调用它,如果你想远程删除‘default/bad branch’:

代码语言:javascript
复制
# hg gitremotedelete <name of remote>/<branch to delete>
hg gitremotedelete default/bad-branch

手动执行此操作

如果你想知道上面是做什么的:下面是我们如何做与交互式会话相同的事情。希望这是可以翻译到Windows的。

我们想要删除某个远程服务器上的Git分支。让我们找出default遥控器的url;如果您需要其他遥控器,可以根据需要进行更改。

代码语言:javascript
复制
hg paths default
# git+ssh://git@example.com:some_user/some_repo.git

什么是repo root?

代码语言:javascript
复制
hg root
# /home/You/current_repo

切换到repo根目录下的Git目录

代码语言:javascript
复制
cd /home/You/current_repo/.hg/git

说出让Git删除远程分支的妙语,以Git期望的方式传递远程repo URL

代码语言:javascript
复制
git push git@example.com:some_user/some_repo.git :branch-to-delete

还要删除remote-tracking分支,因为Git不会自动删除它。Hg-Git从远程跟踪引用中动态生成remote-ref标记,因此删除Git中的远程跟踪分支是必要且足够的,以便在Mercurial中不再看到该标记。

代码语言:javascript
复制
git branch -rd default/branch-to-delete

最后,删除Git的(本地分支的本地引用):

代码语言:javascript
复制
git branch -d $branch
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9792867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档