敏捷开发系列-5:这几招搞定团队协同Coding

编程/开发
394
0
0
2022-08-12
标签   敏捷开发

一个团队在一起Coding时,就怕发生这样的事情:同1个文件你改了,我也改了,他也改了,最后怎么同步呢?以前用clearcase时,A把文件checkout了,其他人就不能提交,保证了代码的唯一性。但现在用git后,大家都可把文件拉到本地库,修改完后提交到远程库。现在发生A、B、C三人都修改了某个文件后,代码怎么同步呢?

1、 git分支

利用git,一个团队可以协同工作。但怎么保证团队人员之间互不冲突呢?这就需要用分支。

⑴ master分支是非常稳定的,只用来发布新版本,平时不能在上面干活。

⑵ dev分支是不稳定的,干活都在dev分支上进行。比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

⑶ 团队里的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

用Sourcetree进行分支操作:

⑴ 分支

① 点击“分支”。

敏捷开发系列-5:这几招搞定团队协同Coding② 在弹出框中输入新分支,比如dev,然后点“创建分支”确认。

敏捷开发系列-5:这几招搞定团队协同Coding③ dev分支创建成功

敏捷开发系列-5:这几招搞定团队协同Coding④ 选择“当前分支”,这样只会显示当前分支相关的信息。

敏捷开发系列-5:这几招搞定团队协同Coding

⑵ 合并

比如要把dev合并到master分支。

① 切换到master分支,选择dev分支,点击鼠标右键,弹出框框。

敏捷开发系列-5:这几招搞定团队协同Coding

② 点击“合并dev至当前分支”

用git命令进行分支操作:

① 查看分支:git branch

② 创建分支:git branch name

③ 切换分支:git checkout name

④ 创建+切换分支:git checkout -b name

⑤ 合并某分支到当前分支:git merge name

⑥ 删除分支:git branch -d name

2、git冲突

产生冲突的方式很多,常见的一种是创建一个分支并修改提交,然后回到主分支再修改提交同一个文件,然后“合并分支”就发生冲突。

比如:

敏捷开发系列-5:这几招搞定团队协同Coding

这里提示 testwork.php文件在合并时发生了冲突。

⑵ 打开testwork.php。

敏捷开发系列-5:这几招搞定团队协同Coding

<<<<<<< HEAD 表示主分支,主分支的修改是:

test1

Test12223

>>>>>>dev表示创建的dev分支,dev分支的修改是:

test133

test122

⑶ 人工修改

你只要人工修改testwork.php就可以了,比如你希望testwork.php最后是这样的:

敏捷开发系列-5:这几招搞定团队协同Coding然后再次在master分支commit就可以了。