专栏首页walterlv - 吕毅的博客将 svn 仓库迁移到 git 仓库

将 svn 仓库迁移到 git 仓库

我找到了一个很久很久以前编写的项目,然而当时是使用 svn 进行版本管理的。然而现在的版本管理全部是 git,不愿意再装一个 svn 工具来管理这些古老的项目,于是打算将其迁移到 git 中。

本文介绍如何将古老的 svn 项目迁移到 git。


找回 svn 仓库的 url

如果你能记得你 svn 仓库的 url,或者这个仓库是一个纯本地仓库,那么你直接复制这个 url 就好了。

然而如果这是一个有 svn 远程服务器的仓库,那么你可能依然需要临时安装一下 svn 工具。我们只是为了拿回 url 而已。

这里我使用当时使用的小乌龟 TortoiseSVN。在 svn 仓库空白处右击选择版本库浏览器(Repo-browser),小乌龟会自动定位到当前仓库所在的远程 svn 服务器的对应文件夹。

我们所要做的只有一件事——复制顶部那个 url。

得到了这个 url 后,像我这种洁癖就卸载 TortoiseSVN 了。

将 svn 仓库迁移到 git 仓库

命令行

在一个新的文件夹中,我们输入如下命令:

git.exe svn clone "https://svn.walterlv.com/LvYi/Timer" ".\Walterlv.RepoFromSvn"

如果那个 svn 目录中包含 trunkbranchestags 结构,那么可以在后面添加相应的参数以便在 clone 完成后保留分支和标签信息。

git.exe svn clone "https://svn.walterlv.com/LvYi/Timer" ".\Walterlv.RepoFromSvn" -T trunk -b branches -t tags

需要注意的是,上面的 Walterlv.RepoFromSvn 文件夹是不允许提前存在的,如果存在将无法迁移成功。

TortoiseGit

这里特地照顾一下从 TortoiseSVN 迁移来继续考虑 TortoiseGit 的小伙伴。在 TortoiseGit 中的操作是:

  1. 在某个文件夹中右键(或者 Shift+右键)
  2. 选择克隆
  3. 按照下图填写来自 url 的远程服务器 url 和本地文件夹,并打勾“从SVN版本库”

参考资料

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/m

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 详解 .NET 反射中的 BindingFlags 以及常用的 BindingFlags 使用方式

    使用 .NET 的反射 API 时,通常会要求我们传入一个 BindingFlags 参数用于指定反射查找的范围。不过如果对反射不熟的话,第一次写反射很容易...

    walterlv
  • 配置 legacyUnhandledExceptionPolicy 防止后台线程抛出的异常让程序崩溃退出

    发布于 2017-10-16 12:52 更新于 2017-10...

    walterlv
  • 如何根据一个绝对文件路径生成一个相对文件路径

    发布于 2018-06-07 11:30 更新于 2018-09...

    walterlv
  • nginx+apache+mysql+svn

    说明:nginx用80,apache用8080,这样可以使用apache的模块 提示:svn: 版本库永久移到 “http://svn.phpfs.com/”;...

    苦咖啡
  • SVN 常用命令

    子勰
  • SVN常用命令

    SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。

    阳光岛主
  • svn: Can't connect to host 'localhost': 由于目标计算机积 的原因及解决办法

    今天使用eclipse连接svn服务器提交代码的时候提示:svn: Can't connect to host 'localhost': 由于目标计算机积 ,如...

    黑泽君
  • SVN 基础记录

    毕业后在 mz 版本控制一直用 git, 这段时间换到 tx, 使用的 svn,开始还是有些不习惯。 所以整理记录下 svn 的一些基本使用,方便工作。

    orientlu
  • Mac环境下svn的使用

    在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何...

    故久
  • svn备忘

    用户1127566

扫码关注云+社区

领取腾讯云代金券