svn迁移git

本文最后更新于:2020-07-31 16:18 星期五

git仓库迁移

将svn转移到git并保留提交记录

  1. 确定svn所有用户
1
svn log --xml | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /' >user.txt

示例:svn=git<email>
name = name<123456@163.com>

  1. 拉取svn代码,并转换成git版本控制
1
2
3
git svn clone  --no-metadata --no-minimize-url --authors-file=users.txt  [svn url]  [local file name]
#示例:
git svn clone --no-metadata --no-minimize-url --authors-file=users.txt https://127.0.0.01/svn/repo/code iotcode
  1. 清理svn信息参考官方文档 git教程注:也许不需要清理

  2. 本地仓库添加添加远程仓库

1
2
3
4
# 添加
git remote add [origin name] [url]
# 查看
git remote -v
  1. 拉取远程仓库,因为本地仓库与远程仓库无交集,需要使用git pull origin master --allow-unrelated-histories 拉取代码。参考

  2. 推送到远程服务器git push origin --all

Mac系统,第二步异常参考


svn迁移git
https://blog.dekun.wang/blog/fc1b26ef.html
作者
Wang Dekun
发布于
2020-07-31 16:18 星期五
更新于
2023-06-01 22:41 星期四
许可协议