我当前的svn克隆分支(使用-s'标准布局')选项被称为:
$ git branch -r
branch1
branch2
我想重命名那些,以便它们是:
$ git branch -r
svn/branch1
svn/branch2
好像我最初调用了$ git-svn clone --prefix svn。我不需要更改远程端的任何名称。
答案 0 :(得分:34)
假设您没有添加git remote add ...
的其他遥控器,请尝试以下步骤:
git gc
将所有引用打包成.git/packed-refs
。.git/packed-refs
进行编辑。将“refs / remotes /”替换为“refs / remotes / svn /".打开.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 /”。
我用GNU Nano存储库的git-svn镜像副本测试了这个程序,它似乎有效。
编辑:我刚刚确认此过程不会搞砸git-svn dcommit或rebase操作。好像--prefix=svn/
最初在git svn clone -s SVN_REPO_URL
命令中指定。