Git教程 团队协作开发流程

附图片如下:


具体分析如下:

项目背景

张三 / 李四  打算共同协作,开发小说阅读类app

项目分工

张三 负责书架模块
李四 负责阅读模块

建立服务端仓库

git虽然是分布式版本管理工具,我们需要建立一个中心仓库,先在服务端建立两条分支,一般默认会生成一个master分支,实际团队开发中也都是多分支开发,不在赘述。

master
develop

master保存稳定版(production ready),开发人员平时的代码都提交到develop分支上,另外还有hot fix,further等常见分支

开发者的Git分支

张三的Git分支

因为张三开发书架等模块,分支如下:

# 张三的Git分支
bookshelf (local)
origin/master (via git remote add origin http://remote-server/reading.git)
origin/develop

李四的Git分支

因为李四开发阅读模块,分支如下

# 李四的Git分支
readbook (local)
origin/master (via git remote add origin http://remote-server/reading.git)
origin/develop

开发过程

张三开发完一部分后(n次本地commit),提交到本地的git server

git add .
git commit -am "注释说明"
张三将自己每日的开发进度提交到remote develop分支上,张三在执行了上面所说的流程后,提交到服务端的develop分支。但这时很可能李四已经把他写的代码提交了,所以要先执行一下 rebase

git rebase origin/develop
git push origin develop

这样张三代码就都提交到了服务端的develop分支上。

李四那边的流程也一样,只是少了本地同步的过程。

开发完毕,进入测试阶段

经过几天的开发,各个功能都已基本完成,下面就要进入测试阶段。测试阶段以此阅读类app为例,我们需要自测然后打包给测试组去测试,同时不影响开发人员继续开发其他功能,具体做法是在服务端新添加一个分支,命名为release,所以这时服务端就有3个分支了

master
develop
release

两位同学都在本地新建一个branch,对应服务端的release分支

git checkout -b release origin/release

分别进行测试,如果发现问题,则执行pull & push

# 当前在release分支下
git pull origin release
git push origin develop

经过几天的测试后,发现没什么问题了,就可以发布稳定版了,假设为0.1(tag,标签,用于稳定版本的标记信息)

git checkout master
git rebase origin/release
git tag 0.1
git push origin master --tags

同时别忘了把release分支上的代码与develop分支合并,保证develop分支上不会有遗留的bug。(没有找到如何直接merge两个服务端branch的方法)

git checkout develop
git rebase origin/release
git push origin develop
# 删除服务端的release分支
git push origin :release

接下来就可以继续在develop分支上进行开发了。

添加新特性

假如阅读类需要添加评论功能,这个功能的开发就交给了新来的王五。此时,在服务端新开一个分支,命名为feature,这时服务端的分支就变成了这样

master
develop
feature/comment

王五也在本地建立一个comment分支,每天提交到服务端的feature/comment,王五的Git分支是这样的(不相关的服务端Git已省去)

master
archive
origin/feature/comment

等到这个feature开发完了,与服务端的develop分支执行一下rebase,然后再提交到服务端的develop,这样博客的archive功能就有了

git checkout archive
git rebase origin/feature/comment
git push origin feature/comment# 如果要删除服务端的feature/comment分支的话
git push origin :feature/comment

接下来的流程跟上面的一样:开发完毕后,新建release分支,在那上面进行bug修复,修复完毕后,merge到服务端的master和develop

紧急修复漏洞

阅读器出现了一个xss漏洞,需要尽快修复,这时新建一个hotfix分支(先在本地建,然后提交到服务端),然后对漏洞进行修复,修复完后,提交到服务端的master和develop

git checkout master
git pull origin master
git checkout -b hotfix
# 漏洞修复...
# 修复完后
git push origin hotfix
git checkout master
git rebase hotfix
git push origin master
git push origin develop

另外,其实在实际开发过程中,协作开发要灵活运用,团队成员少,分支就可以适当简化,但需要说明的是master分支要绝对的纯净版本,master一般以tag标签标记。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值