Github将上游更改合并到现有PR

Github将上游更改合并到现有PR,git,github,git-flow,Git,Github,Git Flow,我有一个pull请求,需要进行一些修复。在此期间,主机是由许多提交提前,我需要更新我的公关与他们在我提交修复。 如果我首先从本地检查的主节点执行重基,然后强制推送我的PR分支,PR还会包含合并中的更改吗 我只想有一个更新的PR,它只包含我在类似情况下所做的更改。之前我被要求“以某种方式”清理我的PR。这怎么可能呢?如果你在当前上游主控上重新设置工作基础,然后强制推送,新的PR分支将替换旧的PR分支。所以旧的提交从PR中消失,新的提交在那里,准备合并 如果我首先从本地检查的主节点执行重基,然后强制

我有一个pull请求,需要进行一些修复。在此期间,主机是由许多提交提前,我需要更新我的公关与他们在我提交修复。 如果我首先从本地检查的主节点执行重基,然后强制推送我的PR分支,PR还会包含合并中的更改吗


我只想有一个更新的PR,它只包含我在类似情况下所做的更改。之前我被要求“以某种方式”清理我的PR。这怎么可能呢?

如果你在当前上游主控上重新设置工作基础,然后强制推送,新的PR分支将替换旧的PR分支。所以旧的提交从PR中消失,新的提交在那里,准备合并

如果我首先从本地检查的主节点执行重基,然后强制推送我的PR分支,PR还会包含合并中的更改吗

如果您重新设置“本地检查主控”的基础并推送,则PR将仅与您的本地版本的主控更新

您可以签出master并从您的源位置拉取已更改的,然后重新设置该位置的基础,或者在
git fetch
之后重新设置到
origin/master
,然后您将拥有一个只包含新提交的分支(新更改包括在分支历史记录中)

我只想有一个更新的公关,其中只包含我的变化,在类似的情况下,以前我被要求“以某种方式”清理我的公关。这是怎么可能的

您有两种选择-并且-您应该查看每种选择的文档,但下面是每种选择的快速比较:

  • 重设基础:将倒带您的分支,将其重置为您重设基础的内容,然后再次应用更改。这意味着,当您的分支不是最新的时,重定基址将在更改之前应用来自原始的新更改。您可以在重基开始时(可能在提交时回到历史记录中)以及在重新播放历史记录时根据需要解决任何合并冲突。
    • 优点:干净的历史记录
    • 缺点:你必须强迫别人,很多人不喜欢这样做。重设基础时,提交哈希将更改
  • 合并:将在更改的基础上应用来自源站的新更改。这意味着你的改变将存在于历史中,然后新的改变将在它之前。您只能在提交历史记录结束时解决一次冲突(通常更容易)。
    • 缺点:那样,提交散列不会改变
    • 优点:不需要用力推
一般来说,若GitHub上有人要求您更新您的分支,那个么他们可能会建议您重新设置基础,这样就可以在提交历史记录方面保持更干净

将提交压缩在一起也是GitHub上存储库所有者的常见请求。但是,这只有通过重新定基才能实现,所以许多存储库所有者不会费心要求您压缩,因为他们现在可以自己进行压缩


是的,它还将包含合并。你可以试着挑选你的佣金谢谢。这样,来自主服务器的更新也会在那里?我是否应该关闭当前公关并创建新的分支机构/公关?为什么?只要用力推,一切都会好的。如果您根据
foo
master
master
创建了一个PR,那么您将
foo
与新的
master
重新设置基础,修复冲突并强制推送,PR再次只包含您的更改。