mambat / blog

mambat - 博客
6 stars 0 forks source link

GitHub Flow Intro #3

Open mambat opened 7 years ago

mambat commented 7 years ago

GitHub Flow Intro

What is GitHub Flow ?

下面具体介绍一下上述的每一步:

master 分支是随时可发布的

这是 GitHub Flow 中唯一的一条硬性规定。

master 分支永远是 stable 的,所有提交上去的代码都是测试通过的。

从 master 创建功能分支

功能分支的命名一定要能够顾名思义,这样可以方便团队了解哪些功能正在开发中,而且当你中途去开发其他功能、还能帮你快速的找到之前的功能分支。

可以将功能分支与 master 分支进行 compare 操作,方便查询每个分支做了哪些改动。

还可以分别查看每个功能分支的 commit 记录、活跃度。

鼓励将功能分支阶段性的 push 到远程 Repo

这样做有两个好处:

随时可以提交一个 PR

PR 是大家参与开源项目的利器:fork 一个开源项目、提交修改、然后向开源项目维护者提交 PR。

PR 也可以是内部项目 Code Review 工具。PR 既可以用来申请 merge,也可以用来请求别人的帮助 或者 请求一次代码 review

当功能分支代码通过测试之后,便可以向 master 分支提交一个 PR。

PR 经过 review 之后才能 merge 回 master 分支

由于 master 分支是随时可发布的,所有 PR 只有经过 review 和 signoff 后才能 merge 回主分支。

分支被 merge 回 master 之后,立即发布

一旦你的代码被 merge 回 master 分支,你需要立即发布,否则就可能会有其他功能分支被merge。因为别人都是不可靠的,你肯定不希望别人提交的代码破坏你的功能。