一:怎样使用Eclipse-Git协同组员开发大型项目
举例:OSChina
(码云)(只要是Git都可以)
(1)管理员"阿秋"授予成员"小汐"开发者权限
(2)成员"小汐"通过Eclipse
的"File-->import
"从Git上拷贝项目
(3)通过"Clone URL
"-->"Source Git Repository
"
首先管理员给予权限给组员,组员通过自己的账户和密码进行开发,双向验证,便可以安全的远程开发
二:实际开发遇到的情景
情景:管理员A,组员B,组员C合作开发
早上九点,新的一天开始了,管理员A对B和C说,你们昨天的代码合并到"master
"主线上了,去pull一下吧.
B和C收到消息
举例:B打开电脑
(1)项目右键-->"Team
"-->"Pull
"
无论"
pull
"之后显示的是什么,这一步都是必须第一步做的,因为它可以刷新各个分支的信息,在"
Reference
"栏中, "alt+/" 可以快速显示出所有分支的情况可能有分支更新,也可能没有
(2)项目右键-->"Team
"-->"Reset
"
(3)选择"Remote Tracking
"-->"origin/master
"-->"Hard
"-->"Reset
"
备注:之前"pull
"操作的目的就是为了刷新"Remote Tracking
"中的信息,得到最新的"master"线代码
(4)组员提交代码
一天的工作过去了
B到了下班的时间点,新增了一个类"B.java
",并在一个AqiuTT.java
类中增加了方法fun4()
;
C到了下班的时间点,新增了一个类"C.java
",并在一个AqiuTT.java
类中也增加了方法fun4()
;
组员B:
组员C:
组员B和C都不知道有代码冲突,但无所谓,各自提交自己的代码到各自的分支上去
组员B提交代码到"xiaoxi"分支
注:提交信息最好写明时间和作者(有一些Eclipse Git
可能需要"Add to Index
")
可以登录自己的OSChina
账号查看自己的分支,核实上传情况
同理组员C上传到自己的分支"aqiu"分支
(5)管理员A叫来组员B和C,来合并分支,如果有冲突,那就解决冲突
管理员同以上步骤,pull-->reset-->master
主线
好了开始合并支线到主线了(记住,做任何操作之前,必须先pull,刷新又不要钱╮(╯▽╰)╭)
pull
之后-->
项目右键-->"Team
"-->"merge
"-->
先合并C的"aqiu"支线(B,C谁先都没关系)
可以很明显看到"C.java
"类已经合并完毕了
同上,再来合并B的"xiaoxi"支线
出现冲突了
(6)管理员解决冲突
A对B和C说,这个地方冲突了,因为2个人都用了fun4()
的方法,但内容不一样
C说,那把我的方法变更为fun5()
吧
A协调好后便这样操作
使用"merge Tool
"来比对B和C分支的代码冲突部分,并对其进行修改,然后提交到"master
"线
至此,Master
线,aqiu
线,xiaoxi
线全部完成当日的工作