git svn重命名跟踪分支
我当前的svn克隆分支(使用-s“标准布局”)选项称为:git svn重命名跟踪分支,git,git-svn,Git,Git Svn,我当前的svn克隆分支(使用-s“标准布局”)选项称为: $ git branch -r branch1 branch2 我想重新命名它们,以便它们是: $ git branch -r svn/branch1 svn/branch2 好像我调用了$git svn clone——最初是前缀svn。我不需要更改远程端的任何名称。假设您没有使用git remote add…添加的其他远程设备,请尝试以下步骤: git-gc将所有引用打包到.git/packed-refs 打开.git/pack
$ git branch -r
branch1
branch2
我想重新命名它们,以便它们是:
$ git branch -r
svn/branch1
svn/branch2
好像我调用了$git svn clone——最初是前缀svn。我不需要更改远程端的任何名称。假设您没有使用
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/”:
确保还更新任何远程跟踪分支。要做到这一点,只需将整个文件中的“refs/remotes/”替换为“refs/remotes/svn/”编辑:我刚刚验证了此过程不会扰乱git svn dcommit或rebase操作。这就好像
--prefix=svn/
最初是在git svn clone-s svn\u REPO\u URL
命令中指定的。谢谢,这很全面!我还必须将.git/svn/refs/remotes/trunk
移动到.git/svn/refs/remotes/svn/trunk
-没有,我打开了一个文件:在C:\Program Files(x86)\git/libexec/git core\git svn第561行执行git svn fetch
时出错。对于较新版本的git svn,默认前缀是“origin/”如果在init或clone命令中未指定。我还注意到.git/info/refs中也有对“refs/remotes/origin”的引用。大概这些也需要重命名为“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/*