本地如何将svn和git管理的代码做关联

本地如何将svn和git管理的代码做关联

svn和git都是广为流传的代码版本管理工具,实际项目中往往会将两者结合使用,那么如何将本地的一份代码和两者做有机的关联呢!

前提假设:项目已经在开发阶段中,此时变更了svn代码库的地址;或者是组里来的新人,需要你帮忙配置环境,你怎么搞?

我的实践流程如下:(ps:不一定是最优操作和最优方案,问题是可以解决的)

1.在本地workspace目录下,svn co 'svn路径';

2.进入checkout的项目根目录下,执行git init命令,初始化git(会在根目录下生成.git文件夹);

3.执行git remote add origin 'git远端代码库地址'(此条命令用于给远端git代码库创建一个名字,一般都起origin);

4.执行git remote验证是否创建成功,得到如下结果说明创建成功:

本地如何将svn和git管理的代码做关联

5.执行git remote show origin,可以查看git远端代码库的分支结构,如下:

本地如何将svn和git管理的代码做关联

6.执行git flow init,建立本地的git分支管理模型(git flow init一路回车到底就OK);

7.将想要拉取到本地的分支,先在本地建立同名分支,再执行git pull origin '分支名'(此步完全个人想出的笨办法,有好方法的望指点迷津);

8.git分支代码拉取到本地后,解决svn代码和git分支代码的冲突(一般多以svn代码为准)。

到此步svn代码和git代码的关联就做完了。

如果有想删除的远端分支,可以执行git push origin --delete '分支名',就可以将git远端代码仓库的分支删除了。

其他人再用git remote show origin查看git远端代码库时可能会出现类似这样的提示:本地如何将svn和git管理的代码做关联

清除他的做法是:git remote prune origin '分支名',之后再次执行git remote show origin就不会再看到如上的提示了。

ps:此篇为纯实战操作博文,没有任何深入的原理分析,原理部分希望个人后续加强,可以解释的更清楚透彻。