从SVN迁移代码到Azure DevOps Server

在Git开始被广泛应用之前,SVN是版本管理行业中当之无愧的老大,很少有开发人员没听说过和没使用过SVN的,可以说SVN影响了一代程序员。
但是,自从Git逐渐进入开发人员的视野,SVN就开始走向没落,新技术将我们的软件产品推向一个新的台阶,也对开发人员的知识储备提出了新的要求,从SVN迁移到Git也成了大部分企业和开发团队的一个必要工作。
下面我们来简要介绍如何将SVN代码快速迁移到Azure DevOps Server 的Git代码库中。

1 GIT安装

从官方网站Git for Windowshttps://gitforwindows.org/)中下载Git工具的安装包

clip_image002

2 带历史记录、分支、标记

2.1 使用Git克隆SVN代码库

安装好Git后,在Git Bash中执行以下命令行,将SVN代码库导出,如图:

git svn clone { SVN repo URL } --prefix=svn/ -s project

l SVN repo URL:SVN的服务器地址,例如https://192.168.10.13/svn/repo1/

l Prefix:在导出的分支中增加前缀

l -s:使用svn标准命名方法,即trunk,tags,branches

clip_image004

2.2 更改branches、tags

克隆成功后cd到存储库目录,执行”git branch -a”,可以看到本地分支只有一个master,红色字体为远程标签以及远程分支,如图:

clip_image006

2.3 更改tags

在Git Bash中执行以下命令将远程标签改为本地标签。

cp -Rf .git/refs/remotes/svn/tags/* .git/refs/tags/

rm -Rf .git/refs/remotes/svn/tags

clip_image008

2.4 更改branches

在Git Bash中执行以下命令将远程分支更改为本地分支。

cp -Rf .git/refs/remotes/* .git/refs/heads/

clip_image010

2.5 推送分支至Git服务器

3 克隆成功,cd到你的代码库目录后,添加Git服务器连接,如图:

git remote add origin http://dev:8080/tfs/DefaultCollection/软件研发协作管理平台/_git/SVN-Git

clip_image012

4 执行一下命令,将本地存储库推送至Git服务器中,如图:

git push -u origin --all

clip_image014

4.1 推送标签至Git服务器

上面的操作完成后,已经将各分支代码推送至Git服务器上,并没有提交tags,使用“git push -u --tags”推送标签,如图:

clip_image016


https://www.cnblogs.com/danzhang
Azure DevOps MVP 张洪君
在这里插入图片描述

posted on 2022-05-31 22:59  danzhang  阅读(143)  评论(0编辑  收藏  举报

导航