gpt4 book ai didi

GitHub pull 请求 : How to merge and fast-forward to avoid "recent changes" and diff notifications

转载 作者:行者123 更新时间:2023-12-05 03:39:03 25 4
gpt4 key购买 nike

对于我目前的单人项目,我直接在 GitHub 上做 PR(而不是 Bitbucket 或 Azure DevOps)。我希望我的两个分支在 merge 后显示它们相同,但我还没有找到可以做到这一点的 merge 选项。

merge 提交和压缩提交不在功能分支中,因此 GitHub 通知我目标分支有“最近的更改”,并鼓励我进行 PR 以将它们引入我的源分支(这是它们的来源)。

我刚刚切换到 rebase 选项并将 PR 与四个提交 merge ,但这也有问题,因为提交具有不同的 SHA。 GitHub 仍然表示目标分支最近发生了变化,它提前四次提交,落后四次,这些提交会导致 future PR 的冲突。

我很好奇 GitHub merge 是否不可避免,或者是否缺少设置或其他选项。

最佳答案

tl;dr:您(目前)无法在 GitHub 上执行此操作,至少不能直接使用网络界面。有关解决方法,请参阅下面的选项 #3。

原因是(还没有?)没有单独的快进 merge 选项。 GitHub 确实有 "rebase and fast-forward" 的选项,此策略始终会执行 rebase ,即使在没有必要时也是如此。 (注意这就像发出命令 git rebase --no-ff。)

那么您可以做什么?以下是一些可能对您有意义的选项:

  1. 您可以使用创建 merge 提交的常规 merge 策略,并在“我希望我的两个分支在 merge 后显示它们相同”的上下文中更改“相同”的定义,以表示没有差异而不是提交相同。例如,当分支“相同”时,git diff A B 为空。
  2. 您可以使用“rebase and fast-forward”,然后删除(或重置)源分支!您仍然可以在 merge 后区分源分支的尖端提交与目标分支的新提交,以确保它们是相同的,但也许您实际上不再需要该源分支上的旧提交。如果您喜欢该分支名称,请删除它并使用相同的名称重新创建它,或者将其重置为新的提交并在下次强制推送它。
  3. 显然,在 GitHub 上,您可以从命令行执行快进 merge 并将其推出,并且仍然绕过分支保护如果存在针对同一 merge 的 PR,并且如果 所有 PR 状态检查都已通过。更多信息 here .

关于GitHub pull 请求 : How to merge and fast-forward to avoid "recent changes" and diff notifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68748187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com