SVN 迁移到 GIT,并保留提交记录

1)svn账号与git账号映射

创建 user.txt ,格式如下,user.txt 放置在git base here 所选目录下即可

复制代码
schacon = Scott Chacon <schacon@geemail.com>
selse = Someo Nelse <selse@geemail.com>

为了获得 SVN 使用的作者名字列表,可使用GIT BASH 在SVN 项目下运行这个:

bash 复制代码
svn log --xml --quiet | grep author | sort -u | \
perl -pe 's/.*>(.*?)<.*/$1 = /'
2)svn转换为git
bash 复制代码
git svn clone http://ip端口/projectname --no-metadata --authors-file=user.txtt projectname

cd projectname
3)添加git仓库
bash 复制代码
 git remote add origin http://ip端口号/r/virtualSceneICV.git
4)提交到git
bash 复制代码
git push -u origin master

如果你想要将本地的master分支推送到远程仓库,并且远程的默认分支是main,你可以使用以下命令进行操作

bash 复制代码
git push -u origin master:main
相关推荐
_道隐_3 小时前
git stash save 和 git stash push有什么区别?
git
_道隐_5 小时前
git stash如何pop指定的stash change?
git
PC2005-cloud7 小时前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
Python私教1 天前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元1 天前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git
互联网中的一颗神经元1 天前
19 — 贮藏与清理:stash 是抽屉,gc 是打包箱
git
用户330144867631 天前
20 — 远程进阶:强制推送的保险绳——force-with-lease
git
Cooper251 天前
别急着改 Git 历史:rebase、cherry-pick、bisect 与 reflog 的安全操作顺序
git
刚入门的大一新生1 天前
Linux-版本控制器Git
git
扶苏10021 天前
同一个 Git 项目整出两份,切分支互不影响?两种方案实测
大数据·git·elasticsearch