使用 GitHub 向项目添加新功能的最佳方式

问题描述

我最近启动了我的第一个 GitHub 开源项目。现在我想在与 master 合并之前在 beta 分支中为这个项目添加一些新功能

但是最有效的方法是什么?

A.将所有新功能直接提交到 beta 分支,然后创建拉取请求将 beta 分支与 master 合并是否更好。

B.或者我应该为每个单独的功能创建一个分支并创建一个拉取请求以将它们与测试版分支合并?

A: 
commit →↓ 
commit → beta → master
commit →↑
B: 
commit → feature1 →↓
commit → feature2 → beta → master
commit → feature3 →↑

解决方法

在我的工作中,我们更喜欢按功能分支。这与效率无关,而与合作有关 - 在我审查同事的工作时,检查较小的分支和拉取请求会更容易。

此外,更好的粒度 - 您知道在分支 X 上您有功能 X,并且您可以轻松管理此类分支。

单独工作时,我不关心这种粒度 - 一旦我完成一批工作,我就会合并。所以我创建了寿命更长的分支,一旦完成,我就会合并它——我不会在代码审查中审查我的更改,所以这个工作流程更适合我。