svn代码迁移到GIT

285 阅读2分钟
  1. 收集svn上的人员信息,并编辑成git能识别的账号
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt

注:此命令最好是在mac或LINUX系统上执行生成 users.txt

  1. 将用户信息修改成git能够识别的格式
zhansan = 张三 <zhansan@qq.com>

lisi = 李四 <lisi@qq.com>

wangwu = 王五 <wangwu@qq.com>

注:如果这个时候还不知道用户的(邮箱)账号可先保持与前面英文账号保持一致

  1. 使用 git svn clone 命令 克隆代码

新建一个文件夹,将生成的users.txt放入新建的文件夹,然后在新建的文件夹中右键选中git bash。在弹出窗口后执行下面命令,拉取svn代码到本地新建文件夹中

git svn clone svn://host/path/ --no-metadata --authors-file=./users.txt

注:此步骤及后续步骤建议在win10上操作

若是第一次拉取svn中一般会出现这个窗口提示,这个提示就填:p

image.png 填完p后,后面还会弹出窗口做相关验证

① 操作系统的密码(若你电脑或者服务器设置了密码)

② svn的账号,svn的密码

均输入正确,就会开始拉取代码

image.png

拉取完成后,进入拉取代码完成后的项目文件夹中。

  1. 在git bash弹窗中,使用git命令查看提交记录(按q退出)
git log
  1. 关联需要迁移的git库上项目地址(建议创建新的仓库,避免合并出错),会弹窗验证,输入git账号密码
git remote add origin https://host/path.git
  1. 查看关联的仓库地址是否正确
git remote -v
  1. 修改分支名称
git branch -m master target-branch-name
  1. 推送到远程仓库
git push origin target-branch-name
  1. 添加代码关联
git branch --set-upstream-to origin/target-branch-name

推荐GIT版本:2.38.0.windows.1

参考文档:

  1. blog.csdn.net/qq_39201012…

  2. blog.csdn.net/wuningw/art…