svn迁移git

svn迁移git,如果只是代码迁移很简单,只需要把代码copy一份提交到git就完事了。

但是大型工程中,svn的提交记录也是一份很重要的资料,所以迁移时需要带上svn log。

迁移步骤

  • 新建一个临时文件夹tmp_dir,用来存储需要迁移的代码。
    mkdir tmp_dir cd tmp_dir
  • 把文件夹初始化为git目录,并绑定svn地址。
    git svn init SVN://URL
  • 拉取代码和svn log,历史记录越多,时间越长。可以指定从某个开始拉取。
    git svn fetch git svn fetch -r 10000:HEAD
  • 上面的init加fetch命令可以合并为一个命令。
    git svn clone SVN://URL -sr 10000:HEAD tmp_dir
  • 在git上建立对应的仓库,并关联该git仓库。
    git remote add origin [email protected]:xxxx/your-reop.git(如果要修改关联,把add改为set-url即可。)
  • 提交代码。
    git push -u origin master
  • 完成后在git上就可以看到对应的代码,和commit记录了。
  • 删除本地tmp_dir,重新从git上clone一份刚提交的代码,开始新的工作。