git-svn重命名跟踪分支

时间:2010-12-07 21:32:53

标签: git git-svn

我当前的svn克隆分支(使用-s'标准布局')选项被称为:

$ git branch -r
branch1
branch2

我想重命名那些,以便它们是:

$ git branch -r
svn/branch1
svn/branch2  

好像我最初调用了$ git-svn clone --prefix svn。我不需要更改远程端的任何名称。

1 个答案:

答案 0 :(得分:34)

假设您没有添加git remote add ...的其他遥控器,请尝试以下步骤:

  1. git gc将所有引用打包成.git/packed-refs
  2. 打开.git/packed-refs进行编辑。将“refs / remotes /”替换为“refs / remotes / svn /".
  3. 打开.git/config进行编辑。你应该看到类似的东西:

    [svn-remote "svn"]
        url = SVN_REPO_URL
        fetch = trunk:refs/remotes/trunk
        branches = branches/*:refs/remotes/*
        tags = tags/*:refs/remotes/tags/*
    

    将“refs / remotes /”替换为“refs / remotes / svn /”:

    [svn-remote "svn"]
        url = SVN_REPO_URL
        fetch = trunk:refs/remotes/svn/trunk
        branches = branches/*:refs/remotes/svn/*
        tags = tags/*:refs/remotes/svn/tags/*
    

    请务必同时更新任何远程跟踪分支。为此,您可以在整个文件中将“refs / remotes /”替换为“refs / remotes / svn /”。

  4. 我用GNU Nano存储库的git-svn镜像副本测试了这个程序,它似乎有效。

    编辑:我刚刚确认此过程不会搞砸git-svn dcommit或rebase操作。好像--prefix=svn/最初在git svn clone -s SVN_REPO_URL命令中指定。

相关问题