git获取指定svn版本的代码

前言

本文主要介绍如何通过git,获取svn指定版本号的代码

svn的下载、安装、配置参见https://blog.csdn.net/WinstonLau/article/details/79794967

对同一个项目同时使用svn参见https://blog.csdn.net/zzxiang1985/article/details/75212244

本文是因为项目需要,所以必须将svn的版本号和git的节点号对齐。如果你刚开始创建自己的项目,建议还是使用git,毕竟这是主流,同时也方便离线提交代码!

在git仓库中与远程的svn仓库关联

1
2
3
4
# -r 1:HEAD,表示更新从版本1到最新版本的svn仓库
# svn://localhost,表示svn远程仓库的url
# .,表示将clone的svn更新到当前文件夹下
git svn clone -r 1:HEAD svn://localhost .

git与svn仓库关联

r6

git查询指定svn版本对应的节点

假设我想查询r4对应的git节点号

1
2
git svn reset r4
# 会显示:r4 = 4945ec51baa115ecce9b7fdf78aa8ae716345855 (refs/remotes/git-svn)

将git回退至指定版本

1
git reset --hard 4945ec51baa115ecce9b7fdf78aa8ae716345855

r4

将git由当前svn版本更新至最新svn版本

1
2
3
4
# git查询当前svn所属版本号,比如我当前是4
git svn log
# 将git更新至svn最新节点
git svn fetch -r 4:HEAD