将项目从 SVN 迁移到 GIT

场景

项目开发中,项目原本是用的SVN,已经用了一年了,现在公司要抛弃SVN用Git,要求把SVN的代码直接搬过去Git,并保留之前的历史提交记录。


操作步骤

  1. 找到已经被svn管理的项目的根目录 WinFarm,右键 Git Bash Here
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2"@qq.com>"}' | sort -u > userinfo.txt

在 WinFarm 目录里面生成了一个文件 userinfo.txt

userinfo.txt样式如: liqiye = liqiye liqiye@qq.com

  1. 新建个文件夹 Git,将生成的userinfo.txt放入文件夹Git,然后在Git文件夹中右键选中gitbash弹出窗口后执行下面命令,拉取svn代码到本地新建文件夹中
git svn clone 你的SVN地址 --no-metadata --no-minimize-url --authors-file=userinfo.txt --no-minimize-url

你的SVN地址:

在这里插入图片描述
第一次会有一个弹窗:输入 p

后面还有一个弹窗:输入SVN的用户名和密码

SVN密码在这里可以查到,网上找得到这个工具提取加密的密码

在这里插入图片描述
静静等待把这个项目的代码从svn拉下来

拉完后,进入 Git 目录,看到我们项目的文件夹 WinFarm,再进去看到.git文件夹

  1. 右键 WinFarm目录选中gitbash在窗口中用git命令查看提交记录
git log

可以看到这是我们在svn提交的代码记录

  1. 关联需要迁移的git库上项目地址(建议创建新的创库,避免合并出错)
    会有弹窗验证,输入git账号密码
git remote add origin 你的Git项目地址
  1. 查看关联地址是否正确
git remote -v
  1. 将远程仓库代码拉取到本地(注意当前分支)
git pull origin master

第一次会弹出窗口,填写你的 git 用户名密码

如果你的 git 仓库已经有文件的那他就会报错,上面的命令换成这个:

git pull origin master --allow-unrelated-histories

如果报错:
在这里插入图片描述

git config --global http.sslVerify false
  1. 合并到远程master分支
git push origin master
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值