git下开发方法与svn下开发方法对比与总结

一、前言

通过实际开发经历发现,git与svn下代码开发的步骤是不同的,现总结如下。

开发工具为idea。

版本工具为tortoiseGit与tortoiseSVN。

 

二、git下开发方法

1.首先,项目应该有一个test分支和prod分支;test分支用来打测试包,prod分支用来打生产包。

2.当有一个新需求时,用idea打开项目,切换到prod分支,然后选择New Branch,以prod为基础新建一个分支,例如起名为new_demand,然后在这个分支下开发新需求,commit与push。

3.当这个需求要提测时,用idea打开项目,切换到test分支,然后点击new_demand分支中的Merge into Current,将代码合并到test分支后,在test分支中commit与push,并打包上测试服务器。

4.当这个需求要上生产时,用idea打开项目,切换到prod分支,然后点击new_demand分支中的Merge into Current,将代码合并到prod分支后,在prod分支中commit与push,并打包上生产服务器。

5.确认生产上线成功后,删除多余的new_demand分支。

 

*6.如果生产和本地的properties文件不一样,有一种方法是,准备两套properties文件,然后启动jar/war项目时,把properties文件的路径当参数传递进去即可。

java -jar bootdemo-0.0.1-SNAPSHOT.jar --spring.config.location=./test.properties 
//此时test.properties和jar是同级目录

java -jar bootdemo-0.0.1-SNAPSHOT.jar --spring.config.location= /opt/config/test.properties 
//此时test.properties在绝对目录/opt/config;这种路径可以统一管理配置文件

 

三、svn下开发方法

1.svn应该有3个路径,dev,test,prod;其中dev用来提交开发代码,test用来提交测试代码与打测试包,prod用来提交生产代码与打生产包。

2.当有一个新需求时,首先用dev路径编写代码与提交,注意提交需要带上版本号。(便于merge代码到测试路径)

3.当这个需求需要提测时,使用TortoiseSVN工具,从dev路径merge到test路径,按照版本号merge每次变更;然后用test路径的项目打测试包,提测。(提交代码时也要带上版本号,便于merge变更到生产路径)

4.当这个需求需要上生产时,使用TortoiseSVN工具,从test路径merge到prod路径,按照版本号merge每次变更;然后用prod路径的项目打生产包,上生产。(提交代码时也要带上版本号,便于发现问题时回退)

 

四、总结

1.git开发新需求时,应该以生产代码为基础新建分支,在新分支上开发代码后,分别合并给test与prod,便于多人开发时打测试包与生产包。

2.svn开发新需求时,直接在dev路径开发,按照dev->test->prod的顺序、根据版本号合并代码即可,便于多人开发时打测试包与生产包。

 

============================================================

五、个人笔记,svn与git的对比

svn:

1.多人开发时,开发代码要保存,所以要dev路径

2.多人开发时,有些开发代码要提测,有些不提测,所以dev->test(根据提交版本号合并代码)

3.多人开发时,有些测试中的代码完成了测试,要上生产,还有些不上,所以test->prod(根据提交版本号合并代码)

git:

1.多人开发时,开发代码要保存,所以要根据prod建new_demand分支;

每个人开发的需求不同,则建new_demand1,new_demand2,各自使用各自的。

2.提测时,各自决定是否把new_demand1、new_demand2合并到test。(如果都使用一个new_demand,会导致开发中的某些不可以提测的代码也提交到测试,所以要按需求分开、各自使用各自的分支;与svn相比,svn是都使用一个dev路径,不过合并时可以根据提交版本号的不同区分开不同的需求,所以都使用一个dev没问题;但是git不行,不好区分)

3.上生产时,各自决定是否把new_demand1、new_demand2合并到prod。(同理,如果把test整个合并到prod,会导致某些已提测但是还不能上生产的需求合并到生产上,所以不行;只能各自合并各自的;而svn可以从test合并到prod,是因为可以根据提交版本号不同,选择只合并需要上生产的代码;但是git不行,不好区分)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐梦想永不停

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值