如何使用git svn切换svn存储库?
我使用git SVN创建了许多git项目,作为SVN存储库的克隆。我们已经将我们的SVN存储库迁移到一个新的提供者,因此URL现在已经更改。如何更新git克隆的远程SVN URL 一种可能性是我从新的SVN存储库中重新克隆,但我不希望这样做,因为这个过程可能需要几天的时间才能完成整个历史记录如何使用git svn切换svn存储库?,git,svn,git-svn,Git,Svn,Git Svn,我使用git SVN创建了许多git项目,作为SVN存储库的克隆。我们已经将我们的SVN存储库迁移到一个新的提供者,因此URL现在已经更改。如何更新git克隆的远程SVN URL 一种可能性是我从新的SVN存储库中重新克隆,但我不希望这样做,因为这个过程可能需要几天的时间才能完成整个历史记录 提出这个问题的另一种方式是,git在哪里存储您正在使用的远程SVN存储库的位置信息?例如,当您键入“git svn info”时,URL信息来自何处?我在git wiki中找到了一个页面,它准确地回答了我的
提出这个问题的另一种方式是,git在哪里存储您正在使用的远程SVN存储库的位置信息?例如,当您键入“git svn info”时,URL信息来自何处?我在git wiki中找到了一个页面,它准确地回答了我的问题:
- 在.git/config中编辑svn远程url以指向新域名
- 运行git svn fetch-这需要从svn获取至少一个新版本李>
- 将svn远程url更改回原始url
- 运行git svn rebase-l来执行本地rebase(使用上次获取操作中的更改)
- 将svn远程url更改回新url
- 运行git svn rebase现在应该可以再次工作了李>
.git/config
内部的[svn remote]
部分中,将url
设置为新的url,并将重写根目录
设置为旧的url:
[svn-remote "svn"]
url = https://new.svn-server.net/svn/root
rewriteRoot = https://old.svn-server.net/svn/root
同样可以通过指南中的git config…
命令完成:
$ git config --local --replace-all svn-remote.<name>.rewriteRoot `git config --local --get svn-remote.<name>.url`
$ git config --local --replace-all svn-remote.<name>.url <new_url>
[1] 可能的重复可能的重复而不是“重复”,这个问题实际上对Git用户来说更好、更容易找到,因为这个问题是使用SVN特定术语提出的。该页面上的一些链接现在已经失效。另外,如果你能把实际的解决方案放在这里,而不仅仅是链接,那就太好了。这对我也很有用。我在内联网外有一台服务器,我必须使用sshfs将其装载为本地目录。在我更改了存储库位置之后,我已经成功地使用这个
rewriteRoot
config方法执行了git svn dcommit
。谢谢
$ git svn info
Path: .
URL: <old-url>
Repository Root: <new-url>