我们的团队在GitHub上拥有一个master分支以及其他一些功能分支,最终需要将它们合并回master。
在GitHub上创建请求请求之前,应该怎么做才能确保功能分支是最新的?在创建请求请求之前,是否可以在master分支上实施某种锁以实施最新的功能分支?
答案 0 :(得分:0)
我什至不确定您在这里是否需要任何此类功能。如果某个功能分支与master
分支的确距离太远,以至于合并PR会导致合并冲突,那么GitHub将标记该请求并拒绝自动完成请求。
当然,作为实践,大多数开发人员将从经验中了解到与master
合并/重新定级是通常的好习惯。但是,至少在默认情况下,这些事情已经由GitHub强制执行。
答案 1 :(得分:0)
GitHub的分支保护可能要求分支合并之前是最新的,但分支创建之前不需要。这是有道理的。考虑:
*---*---*---* [master]
|\
| *---*---* [feature-1]
\
*---* [feature-2]
此处,feature-1
和feature-2
相对于master
是最新的。如果限制要求拉取请求在创建时是最新的,我们可以为每个分支创建PR。
但是当这些PR之一合并时会发生什么?
*---*---*---*-----------* [master]
|\ /
| *---*---* [feature-1]
\
*---* [feature-2]
现在feature-2
不再是最新的。它的公关应该怎么办?自从它是最新的以来,我们不做任何事情吗?我们是否会使PR完全无效,并要求创建一个新的PR?我们应该在任何给定时间只开放一个公关吗?
GitHub的系统在合并时适用。这样,PR可以在准备好合并之前创建(例如draft PRs),并且可以安全地引发有意义的讨论,而不是匆忙进行。这也意味着我们不必处理上一个问题。