我们有远程svn仓库,我们希望它转换为git。 你能告诉我如何在Windows上做到这一点? 谢谢。如何将svn仓库转换为Windows上的git
回答
你可以使用git-svn这是一个可以让svn仓库转换为git仓库的工具。请参阅git documentation了解更多信息。
在Windows上安装的应用程序:
找出svn库URL
并复制
调用TortoiseGit克隆对话框
右击t点击目标文件夹,例如D:\SVN\ToGit
,并点击Git Clone...
检查From SVN repository
复选框
如果您复制的URL,然后再调用克隆对话框,TortoiseGit将得到剪贴板粘贴复制网址它会放到你的URL文本字段中。所以,你不要自己贴。只要看看它是否正确。
如果您右键单击目标文件夹,TortoiseGit也会为您填写Directory
文本字段。另外,请看看是否它是你想要的。
所以,只需检查From SVN repository
复选框。
而且如果svn库具有标准布局,说树干,标签,分支,你不需要做其他事情。
单击OK按钮,进入
然后,开始克隆一个SVN仓库到Git仓库。
事情是这样的:
正如你所看到的,只是TortoiseGit正确使用的Git for Windows命令git svn clone
克隆它。
git.exe svn clone "svn://svn.code.sf.net/p/tortoisesvn/code/" "D:\SVN\ToGit\tsvn" -T trunk -b branches -t
所以,基本上,你可以去混帐击/ CMD,并重新使用该命令行,也得到了同样的结果。
注:如果你能看到r1
,r2
,r3
...,你可以随时停止克隆,然后再用相同的命令行恢复它。
克隆一个本地svn库
有了TortoiseGit 2.4.4+
svn的本地路径就复制到克隆对话框的URL。请参阅:
再次,检查From SVN repository
复选框
TortoiseGit 2.4.4+将使用file:///
协议克隆一个本地svn库。
当你得到一个git仓库后,你可以在那里提交。并通过使用TortoiseGit ->
SVN DCommit...
将提交回到原始svn存储库,类似于svn commit
。
正如你所看到的,命令是git svn dcommit
。
如果起源svn库有一些新的承诺(或多个)需要更新,你可以使用TortoiseGit ->
SVN Rebase
,以获取SVN提交,然后合并/变基上的最新承诺。类似svn update
。
它采用git svn fetch
然后使用git rebase
合并/变基所取得的变化。
对于命令行,你可以只使用git svn rebase
。
阅读Pro Git v2 - Chapter 9了解更多信息和示例。
- 1. 将SVN仓库转换为Git,维护SVN仓库
- 2. 将mercurial仓库转换成svn仓库
- 3. 将仓库从git转换为subversion
- 4. 如何将git仓库复制到新的svn仓库?
- 5. 将克隆的git仓库转换成分叉的仓库
- 6. 如何使用git-svn来切换svn仓库?
- 7. 如何导入git仓库下的svn仓库?
- 8. SVN仓库移动后的git-svn?
- 9. 将PuTTY的svn仓库转换为mercurial repository
- 10. 将git仓库导出到svn
- 11. Git分支Svn仓库
- 12. SVN GIT仓库服务器
- 13. 如何将git仓库上传到gerrit?
- 14. 为什么git仓库比SVN仓库小得多?
- 15. 如何合并svn仓库与git克隆仓库(通过github从SVN导入)
- 16. 如何验证svn转换为git?
- 17. 如何在Windows上将SVN(Subversion)转换为Hg(Mercurial)?
- 18. 将SVN签出转换为使用git(git-svn)
- 19. 将文件夹备份转换为Git仓库
- 20. git-svn:分支在svn仓库中重命名,我如何告诉git-svn?
- 21. 如何为svn仓库创建git远程分支
- 22. svn仓库中的git子目录?
- 23. svn仓库的只读git镜像
- 24. 按现有git仓库到现有的SVN仓库
- 25. 如何在Windows上从Git仓库建立最新的Qt?
- 26. 如何处理包含Windows上符号链接的git仓库
- 27. 如何在SVN仓库
- 28. 如何覆盖svn仓库?
- 29. 在新近创建的子模块转换的svn涉及到git仓库
- 30. 如何将仓库中的仓库合并为一个仓库?
可能重复的[有没有像TortoiseSVN的git-svn的Windows客户端?](http://stackoverflow.com/questions/894360/is-there-a-git-svn-windows-client-something-like -tortoisesvn),特别是这个答案是适用的:http://stackoverflow.com/a/1090761/19746 – Piskvor 2012-01-06 16:33:11
据我可以判断TortoiseGit只是git客户端,对吧?我问过关于转换svn仓库到git仓库。 – Oleg 2012-01-06 16:35:48
@userwhatever:既然你显然没有点击和/或阅读第二个链接(nb:引用为“特别适用”),让我把它喂给你:“TortoiseGit(http://code.google.com/p/tortoisegit /)在版本0.8.1.0中添加了对git-svn的基本支持“。 *不*适用于什么?请明确点。 – Piskvor 2012-01-06 16:38:11