AImager

常见Git工作流

  • Git flow
  • Github flow
  • Gitlab flow
  • AoneFlow
  • TrunkBased

Git flow

最早提出于A successful Git branching model,主要就是太复杂。

Github flow

第一步:根据需求,从master拉出新分支,不区分功能分支或补丁分支。

第二步:新分支开发完成后,或者需要讨论的时候,就向master发起一个pull request(简称PR)。

第三步:Pull Request既是一个通知,让别人注意到你的请求,又是一种对话机制,大家一起评审和讨论你的代码。对话过程中,你还可以不断提交代码。

第四步:你的Pull Request被接受,合并进master,重新部署后,原来你拉出来的那个分支就被删除。(先部署再合并也可。)

第四步有两种做法,一是先合并master再发布,二是发布后再合并主干。推荐后一种方式,因为当某个特性需要中断发布的时候,先发布在合并只需要中断即可,无需回滚任何分支。

优势很明显,简单并行高效,对于以web服务为主的公司,强力推荐。但对于同时有多个版本发布的软件开发,这种工作流就不合适了。

AoneFlow

阿里的git工作流

参考链接