【转】Eclipse+Git搭建小型团队开发环境-云端代码和本地代码冲突的处理方法

转载出处:http://blog.csdn.net/a5503308/article/details/50939990

团队开发最常见的情况

  在团队开发中,最常见的情况就是代码的冲突,当同一行中,云端代码有被自己更新的代码就会出现冲突。一般情况这些冲突会常常出现在一些公共的配置文件中,所以出现冲突最好可以先和修改者协商,再做合并。假如是一些误操作,例如不小心多加了一个空格,那么这里就应该自行解决冲突。
  这个针对Eclipse+EGit这个开发环境做详细的冲突处理方法。

编写冲突文件
首先编写一个会冲突的文件,如下图。

这里写图片描述
这里写图片描述

如图,代码会在13行冲突。
解决步骤

  1、先保证自己的代码已经提交到本地仓库,不用push代码上远程,由于远程仓库的代码比本地的更新,GitHub不会允许这样的提交的。图片项目名右边有向下的箭头,证明远程已经有2个commit本地没下载了。
这里写图片描述 这里写图片描述

  2、pull远程仓库的代码下来(有冲突的时候,程序就会显示冲突了)
这里写图片描述

  3、处理冲突(冲突处理过程,关键是后面add index,并且重新提交到本地仓库)
这里写图片描述

  当我们的冲突处理完并提交后,我们手上的代码就是最新的,并且使无冲突的。现在push代码上去云端就无问题了。图中那么提交冲突的窗口:git staging

原理

  我们稍微说说冲突处理过程的原理:GitHub的是属于远程仓库的,所以要更新远程仓库的数据,并需保证本地分支中的代码都提交到本地仓库。也就是commit所有的数据。这个时候方可pull远程仓库的代码下来。然后假如有冲突,那么这次pull是不完成成功的,程序会把冲突都显示出来。我们解决冲突后,通过git staging把冲突也提交到本地仓库。那么这时候,本地仓库的代码就是没有冲突,比远程仓库代码更加fresh的代码了,所以这时候可以轻易把代码push到远程仓库中。
  当然,我们平时有良好的习惯时,是可以避免不少冲突的。我们要养成先更新代码再进行开发的习惯,一个子功能开发完成后就要及时提交代码。

Q&A

至此,eclipse + egit + github就可以集成一个团队开发环境。
总结一下在搭建团队开发环境下,需求、问题及解决方法:

 Q:团队开发过程,各个模块的人员如何围绕着一个框架进行多任务编码?
 A:首先我们要为围绕着那个框架,为每一个开发者建立一个分支。例如文中提及到的,LLQ开发者。管理员首先要在master主干上,针对开发者建立一个分支。然后开发者通过自己的IDE导入分支,在上面进行开发。其他开发者也可以对该分支进行编辑。

 Q:框架更新的时候,如何应用到其他分支中?
 A:如文中所见《分支合并及冲突处理方法》,框架应用过其他分支,是需要管理员去进行的。当与分支代码发生冲突的时候,应该和开发人员进行沟通,适当更改代码。这里可以提一下关于编码规范:
  1、不要随意在框架的中修改代码,实在需要动框架,应该和框架开发者说一声,由开发者去完成代码的修改。
  2、有限建立新的文件而不是使用原有的文件,例如:我们的一些定义框架属性的.xml文件不应该随意被修改,关于页面配置等.xml文件,分支开发人员应该自行建立。引用方面需要动一下框架的配置文件(例如web.xml配置各种即将被导入spring的xml文件),小动一下总比大动要好。
  3、包类应该根据自己的需求建立,尽量不和原有的包混在一起。

 Q:push代码上云端应注意一些什么?假如发生了冲突应该如何处理?
 A:push代码的时候,首先要肯定我们本地的代码是最新的。所以我们平时打开eclipse进行开发前,都应该先pull云端的代码下来,然后再开始工作。假如实在是遇上了冲突,那么就要按照上一篇的《云端代码与本地代码冲突解决方法》进行解决。总之:push代码前,时刻保证首先的代码是最新的就可以了。

最后

  用了一个很粗糙的办法搭建了一个开发环境。其实在真正的公司里,往往不会有这么麻烦的解决方案的。把这个教程写出来,是希望可以帮到一些同学在宿舍内进行一些小程序开发,在学校提前感受一下合作开发。经过这一次方法的探索,我对Git有了更深刻的认识,其协作开发者的功能确实非常强大。
  我觉得对于小型团队开发环境还是有其它很多样的实现方式的,我这个方法还是有点强硬不灵活,有更好方法的希望大家可以提供一下idea!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值