Open mambat opened 7 years ago
master 分支是随时可发布的。
开发新功能时,直接从 master 分支创建新分支,赋予合适的分支名(ie: new-category-list)。
本地直接向分支 commit 代码,阶段性的将代码 push 到远程 repo。
当分支开发完成需要被 merge、或需要代码评审等其他帮助时,提交一个 PR。
当分支代码被评审通过、且新功能被确认时,你可以将其 merge 回 master 分支。
一旦分支被 merge 回 master,立即进行发布操作。
下面具体介绍一下上述的每一步:
这是 GitHub Flow 中唯一的一条硬性规定。
master 分支永远是 stable 的,所有提交上去的代码都是测试通过的。
功能分支的命名一定要能够顾名思义,这样可以方便团队了解哪些功能正在开发中,而且当你中途去开发其他功能、还能帮你快速的找到之前的功能分支。
可以将功能分支与 master 分支进行 compare 操作,方便查询每个分支做了哪些改动。
还可以分别查看每个功能分支的 commit 记录、活跃度。
这样做有两个好处:
使用远程 Repo 作为备份,防止严重的代码丢失。
其他人通过 git fetch 命令就可以看到最近活跃的功能开发。如果发现一个功能迟迟没有 push,也许需要一些帮助。
git fetch
PR 是大家参与开源项目的利器:fork 一个开源项目、提交修改、然后向开源项目维护者提交 PR。
PR 也可以是内部项目 Code Review 工具。PR 既可以用来申请 merge,也可以用来请求别人的帮助 或者 请求一次代码 review。
当功能分支代码通过测试之后,便可以向 master 分支提交一个 PR。
由于 master 分支是随时可发布的,所有 PR 只有经过 review 和 signoff 后才能 merge 回主分支。
一旦你的代码被 merge 回 master 分支,你需要立即发布,否则就可能会有其他功能分支被merge。因为别人都是不可靠的,你肯定不希望别人提交的代码破坏你的功能。
GitHub Flow Intro
What is GitHub Flow ?
master 分支是随时可发布的。
开发新功能时,直接从 master 分支创建新分支,赋予合适的分支名(ie: new-category-list)。
本地直接向分支 commit 代码,阶段性的将代码 push 到远程 repo。
当分支开发完成需要被 merge、或需要代码评审等其他帮助时,提交一个 PR。
当分支代码被评审通过、且新功能被确认时,你可以将其 merge 回 master 分支。
一旦分支被 merge 回 master,立即进行发布操作。
下面具体介绍一下上述的每一步:
master 分支是随时可发布的
这是 GitHub Flow 中唯一的一条硬性规定。
master 分支永远是 stable 的,所有提交上去的代码都是测试通过的。
从 master 创建功能分支
功能分支的命名一定要能够顾名思义,这样可以方便团队了解哪些功能正在开发中,而且当你中途去开发其他功能、还能帮你快速的找到之前的功能分支。
可以将功能分支与 master 分支进行 compare 操作,方便查询每个分支做了哪些改动。
还可以分别查看每个功能分支的 commit 记录、活跃度。
鼓励将功能分支阶段性的 push 到远程 Repo
这样做有两个好处:
使用远程 Repo 作为备份,防止严重的代码丢失。
其他人通过
git fetch
命令就可以看到最近活跃的功能开发。如果发现一个功能迟迟没有 push,也许需要一些帮助。随时可以提交一个 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。因为别人都是不可靠的,你肯定不希望别人提交的代码破坏你的功能。