8
我已经开始使用git跟踪svn仓库,只克隆它的中继目录。现在我想跟踪其他内容,但是我不想再次使用--stdlayout
来克隆它,因为它需要很长时间才能下载,而且本地已经有大部分代码。如何更改存储库布局以匹配svn trunk/branches/tags方案而不必再次克隆?开始跟踪只跟踪中继的git-svn仓库上的分支/标签
我已经开始使用git跟踪svn仓库,只克隆它的中继目录。现在我想跟踪其他内容,但是我不想再次使用--stdlayout
来克隆它,因为它需要很长时间才能下载,而且本地已经有大部分代码。如何更改存储库布局以匹配svn trunk/branches/tags方案而不必再次克隆?开始跟踪只跟踪中继的git-svn仓库上的分支/标签
老.git/config
:
[svn-remote "svn"] url = svn://host/project/trunk fetch = :refs/remotes/git-svn
新.git/config
:
[svn-remote "svn"] url = svn://host/project fetch = trunk:refs/remotes/git-svn branches = branches/*:refs/remotes/* tags = tags/*:refs/remotes/tags/*
现在运行git svn reset -r1 -p; git svn fetch; git svn rebase
。
不,它不是从做git svn clone
重新太大的区别 - 添加分支意味着git
可以看到更多的合并,这意味着内容git
是跟踪已更改,因此git-svn
必须重新一切。
让我补充一句,'git svn reset'将会失败,除非指定的版本不是项目的一部分。我提到这一点,因为在一些较早的版本中,命令会发出不明确的错误消息。 – UncleZeiv 2010-07-08 11:47:39