【转】Eclipse+Git搭建小型团队开发环境-云端代码和本地代码冲突的处理方法
2017-11-14 10:38
531 查看
转载出处:http://blog.csdn.net/a5503308/article/details/50939990
这个针对Eclipse+EGit这个开发环境做详细的冲突处理方法。
2、pull远程仓库的代码下来(有冲突的时候,程序就会显示冲突了)
3、处理冲突(冲突处理过程,关键是后面add index,并且重新提交到本地仓库)
当我们的冲突处理完并提交后,我们手上的代码就是最新的,并且使无冲突的。现在push代码上去云端就无问题了。图中那么提交冲突的窗口:git staging
当然,我们平时有良好的习惯时,是可以避免不少冲突的。我们要养成先更新代码再进行开发的习惯,一个子功能开发完成后就要及时提交代码。
总结一下在搭建团队开发环境下,需求、问题及解决方法:
Q:团队开发过程,各个模块的人员如何围绕着一个框架进行多任务编码?
A:首先我们要为围绕着那个框架,为每一个开发者建立一个分支。例如文中提及到的,LLQ开发者。管理员首先要在master主干上,针对开发者建立一个分支。然后开发者通过自己的IDE导入分支,在上面进行开发。其他开发者也可以对该分支进行编辑。
Q:框架更新的时候,如何应用到其他分支中?
A:如文中所见《分支合并及冲突处理方法》,框架应用过其他分支,是需要管理员去进行的。当与分支代码发生冲突的时候,应该和开发人员进行沟通,适当更改代码。这里可以提一下关于编码规范:
1、不要随意在框架的中修改代码,实在需要动框架,应该和框架开发者说一声,由开发者去完成代码的修改。
2、有限建立新的文件而不是使用原有的文件,例如:我们的一些定义框架属性的.xml文件不应该随意被修改,关于页面配置等.xml文件,分支开发人员应该自行建立。引用方面需要动一下框架的配置文件(例如web.xml配置各种即将被导入spring的xml文件),小动一下总比大动要好。
3、包类应该根据自己的需求建立,尽量不和原有的包混在一起。
Q:push代码上云端应注意一些什么?假如发生了冲突应该如何处理?
A:push代码的时候,首先要肯定我们本地的代码是最新的。所以我们平时打开eclipse进行开发前,都应该先pull云端的代码下来,然后再开始工作。假如实在是遇上了冲突,那么就要按照上一篇的《云端代码与本地代码冲突解决方法》进行解决。总之:push代码前,时刻保证首先的代码是最新的就可以了。
我觉得对于小型团队开发环境还是有其它很多样的实现方式的,我这个方法还是有点强硬不灵活,有更好方法的希望大家可以提供一下idea!
团队开发最常见的情况
在团队开发中,最常见的情况就是代码的冲突,当同一行中,云端代码有被自己更新的代码就会出现冲突。一般情况这些冲突会常常出现在一些公共的配置文件中,所以出现冲突最好可以先和修改者协商,再做合并。假如是一些误操作,例如不小心多加了一个空格,那么这里就应该自行解决冲突。这个针对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!
相关文章推荐
- Eclipse+Git搭建小型团队开发环境(二)云端代码和本地代码冲突的处理方法
- Eclipse+Git搭建小型团队开发环境(一)
- Eclipse搭建Android开发环境之ADT安装常见错误及解决方法
- cocos2d-x在eclipse上搭建开发环境(全网最标准方法,不要cywin)
- cocos2d-x在eclipse上搭建开发环境(全网最标准方法,不要cywin)
- ubuntu下搭建android环境成功后eclipse工具栏中没有出现小机器人图标处理方法
- [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境
- dubbo起步搭建Spring+SpringMVC+dubbo的开发环境(1,处理Spring冲突)
- eclipse+maven搭建hadoop本地开发环境
- eclipse 搭建 python开发环境之快捷方法
- Android开发Git:代码冲突常见解决方法
- Eclipse搭建Python开发环境+Python中文处理
- Eclipse搭建Python开发环境+Python中文处理
- 在Windows Azure Windows系列虚拟机中搭建小型团队开发环境(TFS2013 Express+SQLSERVER2012 SP2 Express)
- cocos2d-x在eclipse上搭建开发环境(全网最标准方法)
- 关于在linux环境中用eclipse搭建c++程序开发平台的方法
- 【OpenStack】OpenStack系列1之OpenStack本地开发环境搭建&&向社区贡献代码
- cocos2d-x在eclipse上搭建开发环境(全网最标准方法,不要cywin)
- 使用git和github搭建代码开发环境
- cocos2d-x在eclipse上搭建开发环境(全网最标准方法,不要cywin)