Git 在bitbucket云上使用拉取请求重新设置工作流的基础

Git 在bitbucket云上使用拉取请求重新设置工作流的基础,git,bitbucket,Git,Bitbucket,我在bitbucket云上创建了两个分支,并分别创建了两个pull请求。拉请求合并策略设置为“合并提交”。合并拉取请求后,提交树如下所示: 以下是合并策略: 如何在bitbucket云上避免这种szenario?如果分支可以看到这一点,或者这是一个例外,那么重定基址有什么意义呢?BitBucket有它的功能,包括: Rebase,快进(Rebase+merge--ff only): 从源分支提交到目标分支,为每个传入的提交创建新的非合并提交。 快进目标分支和结果提交。此操作不会修改请购单分支

我在bitbucket云上创建了两个分支,并分别创建了两个pull请求。拉请求合并策略设置为“合并提交”。合并拉取请求后,提交树如下所示:

以下是合并策略: 如何在bitbucket云上避免这种szenario?如果分支可以看到这一点,或者这是一个例外,那么重定基址有什么意义呢?

BitBucket有它的功能,包括:

Rebase,快进(
Rebase
+
merge--ff only
): 从源分支提交到目标分支,为每个传入的提交创建新的非合并提交。
快进目标分支和结果提交。此操作不会修改请购单分支

以及:

仅快进(
--ff仅限
): 如果源分支与目标分支过期,请拒绝合并请求。否则,将目标分支更新为源分支上的最新提交

任何一个都可以避免合并提交并生成线性历史记录

第二个假设是PR分支在开发人员工作站本地重新设置了基础,然后
push--force
:合并变得微不足道


问题是:

因此,如果同时创建了两个拉请求,我需要在本地重新设置每秒拉请求的基址

两个PR“同时”创建的事实与该过程无关

其中一个将被合并(没有问题,因为它是第一个被合并的)

第二个将不会合并(拒绝,因为不是快速向前合并)

开发商没有其他选择,只能:

  • 拉动master以更新桅杆已更改(此处为第一个合并PR)
  • 将第二个PR在主PR的基础上进行局部重设(在局部解决冲突,确保其仍然有效)
  • 强制推进
  • 通过Web GUI合并第二个PR(合并是一种快进合并,将被接受)

涉及本地对账的流程是通常的最佳做法。

该流程中只有一种快进策略cloud@David好的:然后是第二个:快进。@David在本地重新设置基础,然后强制推进。应该避免什么?diea将在本地解决任何冲突,并检查第二个PR在应用于第一个PR(第一个合并)之上时是否仍然有效@David这就是您在本地重新设置基础的原因:一旦第一个PR合并,您将更新master(包括第一个PR),重新设置第二个PR的基础,强制推送,和合并。@David这些PR同时创建的事实并不重要:一旦两个PR中的一个被合并,然后(并且只有那时)你在master上重新设置第二个PR的基础(因为master现在包括合并的PR)。在你的情况下,我会选择快进。