git-flow
方法,并开始在我们公司使用 GitHub 来组织我们的工作并帮助协作。
但是我们的行业有相当长的开发周期(正式版本之间有很多年),所以我们可能会一次在
develop
分支上呆好几个月。然而,只有当您推送到 master
时,才会触发一些不错的 GitHub 功能:
所以我们不能使用 GitHub 自动跟踪进度,直到几个月后,项目就基本完成了。我相信,如果我将
develop
设置为默认分支,这个问题就会消失。
但是还会出现其他问题吗?就像,我仍然希望
master
成为首页。我担心来到该项目的人只会看到最新的开发版本,可能没有错误检查等。
我建议将 master 保留为默认分支。即使它不在发行版中,用户在访问 GitHub 上项目的默认分支时也应该看到相当稳定的代码。
我相信 GitHub 基于默认分支的基于功能的限制旨在鼓励在标记为稳定时考虑工作已完成(这应该在移动到默认分支时发生)。如果您想继续使用这些功能,同时保持 master 稳定,我会考虑更频繁地合并到 master (同时保持稳定,并在必要时使用同行评审)。您还可以使用开发作为默认分支,但保持其稳定(这将涉及在将代码合并到开发时进行更严格的审查)。
@Nicky-McCurdy 提出了很好的观点,我个人发现,对于使用
develop
作为默认分支的私有存储库,对于工程师来说是一个更清晰的流程。
然后,拉取请求默认为 develop
,工程师知道从该分支开始任何新代码。然后
master
被保留用于生产中的代码。仍然可以为
master
设置良好的分支保护规则,并且可以在那里指向HotFix以跳过引入任何开发代码。