已删除的拉取请求在合并的拉取请求中提交

问题描述 投票:0回答:2

因此,在 GitHub 中,当我发出拉取请求时,它会获取拉取请求中的所有提交并将其放入主分支中。之后,它添加另一个提交,内容为“合并拉取请求NUMBER_HERE来自BRANCH

但是,我注意到在大多数存储库中,作为拉取请求一部分的那些提交并不在历史记录中。

例如,如果一个分支中有 3 个提交,提交 A、提交 B 和提交 C,并且您提交了成功的拉取请求,则历史记录如下所示:

Merge pull request #1 from some_branch
commit C
commit B
commit A

但是当我查看其他存储库时,它看起来就像:

Merge pull request #1 from some_branch

没有其下面的拉取请求中的提交。事实上,它通常只包含一堆一遍又一遍合并的拉取请求,就像这样:

Merge pull request #3 from some_branch
Merge pull request #2 from some_other_branch
Merge pull rqeuest #1 from yet_again_another_branch

我是否在错误的时间做错了事情?或者删除提交 C、提交 B 和提交 A,只留下“合并拉取请求”提交是否应该是常见约定?我似乎在网上找不到任何关于此的信息。

编辑:

为了澄清,这就是我的意思:

有两个紧邻的合并拉取请求,并且第二个拉取请求下的提交与其无关。

它们之间没有中间提交,这意味着拉取请求内的提交被删除了?

git github version-control merge git-merge
2个回答
0
投票

提交不一定位于“合并拉取请求”提交下方。在 github 的提交页面上,提交按提交的创作时间排序**。

您将在网络图页面上得到更清晰的图片。

** 除非涉及变基。


0
投票

我认为这是可配置的,您可以启用“允许压缩合并”,然后无论 PR 包含多少个提交,它们都会被压缩为 1 个单个提交。 https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests

© www.soinside.com 2019 - 2024. All rights reserved.