美文网首页
Git与SVN混用作为版本控制

Git与SVN混用作为版本控制

作者: XBruce | 来源:发表于2021-11-23 18:33 被阅读0次

使用场景
以SVN作为本地代码和单位代码仓库的管理工具,以Git作为本地开发的版本管理工具来使用。

使用方式
网上有很多git和svn混用的方式,我这里也是参考了一些网上的文章博客等。简要介绍一下目前我所使用的方式和一些常用操作。

clone项目

git svn clone <svn_repo_url> [project_dir]

通过这种方式可以把svn的项目下载到本地,project_dir作为可选参数,可以指定项目下载的目录名称。

本地开发

本地开发的话,由于不能在SVN上自由创建分支,所以本地开发我通常使用Git来管理自己的开发分支。

SVN项目clone下来后使用的master分支,我以master分支作为SVN的远程最新代码,自己的开发分支统一新建 develop分支上来开发,或者有临时的bugfix分支,或者非版本需求的feature分支。这样可以同时进行多项工作,多项任务互不干扰。

拉取SVN最新代码

// 如果当前在非master分支,stash保存当前代码或者直接提交代码。
git stash
// 切换到master分支拉取SVN最新代码
git checkout master
git svn rebase
// 之后将master分支的代码合并到的开发分支就可以了。

提交代码到SVN

由于开发的时候使用的都是其他分支,master分支作为跟SVN交互的一个主干分支,所以你的代码最终都要merge到master分支上面。

git add .
git commit -m 'comment'
git checkout master
//切换到master分支后直接拉取最新代码
git svn rebase
// 拉取后合并分支
git merge <your_branch>
// 解决冲突后提交到SVN服务器
git svn dcommit

由于SVN是每一次提交都会升一次版本号的。这里提交会把你所有的git提交都记录成对应的svn版本号提交到服务器仓库上。

相关文章

网友评论

      本文标题:Git与SVN混用作为版本控制

      本文链接:https://www.haomeiwen.com/subject/hrawtrtx.html