我们有远程 svn 存储库,我们希望将其转换为 git。你能告诉我如何在 Windows 上做到这一点吗?谢谢。
在 Windows 上安装应用程序:
找出svn存储库URL并复制它
调用 TortoiseGit 克隆对话框
右键单击目标文件夹,例如D:\SVN\ToGit,然后单击Git Clone...

选中From SVN repository复选框
如果您先复制 URL,然后调用克隆对话框,TortoiseGit 将从剪贴板中获取复制的 URL 并将其粘贴到 URL 文本字段中。所以,你不要自己粘贴。只要看看它,看看它是否正确。
如果您右键单击目标文件夹,TortoiseGit 还会Directory为您填充文本字段。另外,看看它是否是你想要的。
所以,只需选中From SVN repository复选框。
如果 svn 存储库具有标准布局,例如主干、标签、分支,则您无需进一步执行任何操作。
单击“确定”按钮开始
然后,开始将 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
Run Code Online (Sandbox Code Playgroud)
因此,基本上,您可以使用Git Bash/CMD并重新使用该命令行,也可以获得相同的结果。
注意:如果您可以看到r1, r2, r3...,您可以随时停止克隆,并在稍后使用相同的命令行继续克隆。
克隆本地 svn 存储库
使用 TortoiseGit 2.4.4+
只需将 svn 本地路径复制到克隆对话框的 URL 中即可。看:

再次,选中From SVN repository复选框
TortoiseGit 2.4.4+将使用file:///协议来克隆本地 svn 存储库。
获得 git 存储库后,您可以在那里提交。并通过使用将提交推回原始 svn 存储库TortoiseGit ->SVN DCommit...,例如svn commit.
如您所见,命令是git svn dcommit.
如果源 svn 存储库有一些新的提交需要更新,您可以使用TortoiseGit ->SVN Rebase获取 svn 提交,然后在最新的提交上合并/rebase。类似的东西svn update。
它使用git svn fetch然后用于git rebase合并/rebase 获取的更改。
对于命令行,您可以只使用git svn rebase.
阅读Pro Git v2 - 第 9 章了解更多信息和示例。
| 归档时间: |
|
| 查看次数: |
8918 次 |
| 最近记录: |