开发团队使用git,如何协作,流程是怎样的,能不能举个例子,或有什么好的教程?

I_am_Rosicky
  • 108

开发团队使用git,如何协作,流程是怎样的,能不能举个例子,或有什么好的教程?

回复
阅读 3.4k
15 个回答

推荐你看一下阮一峰的Git工作流程,学习git flow,希望对你有所帮助。

clipboard.png

建两个主分支,一个测试用,一个发布用。成员写功能的话新建小分支,要测试的话就合并就测试分支,要发布的话就合并进发布分支。两个主分支在开发周期是一直存在的,小功能分支发布后可以删掉。

需要比较熟悉GIT的操作,特别是eclipse的EGIT插件的使用。这篇文章应该对你有帮助,特别是如何解决冲突的操作。

分支创建

  1. master 保存生产分支
  2. develop 开发分支
  3. hotfix 修复分支,一般生产代码有bug又不能合并develop的时候在master基础上起一个hotfix分支,修复完成后合并到master和develop,然后删除hotfix分支,需要打版本号标签
  4. release 发布分支,所有发布过的版本。发布时在develop新起一个分支,合并到master,然后删除release,需要打版本号标签

说明

  • 1人个用来发布master,只有这个人对master有权限,其他人没有
  • 发布前提交所有需要发布的功能到develop,进行发布

我们的话线上有两个分支:master和develop。master分支的代码时对外的代码,也就是用户访问的代码。develop分支是我们开发者用于开发新功能测试用的。我的话一般都是这样做的
1.clone项目仓库,在本地创建develop分支与线上的develop同步,本地master分支与线上master同步。
2.基于我本的的develop分支创建出新的分支feature,在feature分支上进行代码的修改。其实也可以不创建feature分支而是直接地在develop分支上进行修改,但是如果你改着改着发现自己的思路不对想重头做这时你的develop与线上的已经有差别了,你要一系列的操作才能撤销。反之,如果你用了feature,那么你直接删除feature分支就可以了,你本地的develop根本没有改变。
3.feature分支功能开发完以后我会在我本地机器上测试新功能。如果测试没问题,我就把feature分支合并到develop分支,然后从线上pull develop分支到我的develop分支(以为有可能你的同事往线上的develop分支push了新的功能),然后再把我的develop分支push到线上的develop分支供测试同事测试bug
4.线上develop分支测试没问题就合并到线上master分支,这项工作一般只有技术经理有权限做,一般的开发者是不允许合并代码到master的

git的分支很好用,他能是不同版本的代码“解耦”方便我们的开发。现在很流行一种叫git flow的工作流程,你百度一下就能看见。

一般会分版本分支,master分支,dev分支。

开发者们从dev上fork自己的分支,然后提交回去,期间需要code review以及跑过test,才可以进入dev。之后由QA进行测试,合格后进入master。而版本分支(比如1.2 , 1.3, 1.x...)根据该版本的规划从master上开出branch来作为发布版本。

你知道吗?

宣传栏