gpt4 book ai didi

git - 如何使收到的具有更改历史记录的 GitHub PR 可 merge ?

转载 作者:太空狗 更新时间:2023-10-29 13:03:11 27 4
gpt4 key购买 nike

用户在我的 GitHub 存储库中通过一次提交创建了一个 PR。

自 PR 以来,更改被推送到主存储库,因此无法快速 merge 。

长话短说


我在一个主题分支上工作并找了他的主人。

* 5977cb4 - (user/master) PR <user>
| * 857775e - (HEAD -> topic) topic commeit. <me>
| | * 871201e - (master) Local changes in master <me>
| |/
| * f648f4e - (origin/master) Changes in origin <me>
|/
* 3461bd2 - Initial commit <me>

然后重新基于他的主分支

➜  local git:(topic) git rebase user/master
First, rewinding head to replay your work on top of it...
Applying: Changes in origin
Applying: topic commeit.

* 1e2fe2e - (HEAD -> topic) topic commeit. <me>
* 1c7caa9 - Changes in origin <me>
* 5977cb4 - (user/master) PR <user>
| * 871201e - (master) Local changes in master <me>
| * f648f4e - (origin/master) Changes in origin <me>
|/
* 3461bd2 - Initial commit <me>

然后根据我的 master 和 ff-merged 主题将其重新定位以推送到原点:

➜  local git:(topic) git rebase master
First, rewinding head to replay your work on top of it...
Applying: PR
Applying: topic commeit.

➜ local git:(topic) git checkout master
Switched to branch 'master'
➜ local git:(master) git merge topic
Updating 871201e..836e09d
Fast-forward

并将其推送到原点:

* 836e09d - (HEAD -> master, origin/master, topic) topic commeit. <me>
* 46e591a - PR <user>
* 871201e - Local changes in master <me>
* f648f4e - Changes in origin <me>
| * 5977cb4 - (user/master) PR <user>
|/
* 3461bd2 - Initial commit <me>

到目前为止,PR 提交有一个不同的哈希值,GitHub PR 没有提取它。

现在,我无法完全将其 pull 入,因为我已经在历史记录中进行了提交更改,只是使用了不同的哈希值。

我希望 GitHub 将其标记为已 merge ,这样就不会显得我拒绝了更改。

我应该指示用户做什么,以便 PR 可以快进 merge ?他应该简单地 pull 我的主分支吗?以后我该怎么做才能更干净地处理此类案件?

最佳答案

Github 的 merge 请求永远不会以快进方式 merge 。这是设计使然,因此明确说明了谁批准包含由陌生人编写的那些提交。

来自 GitHub 的帮助 Merging a pull request :

Pull requests are merged using the --no-ff option.

因此,您可以以一种 no-ff 方式 merge PR,或者 cherry-pick 提交并关闭 PR。在这两种情况下,作者身份都是完整的,并且 PR 中的谢谢消息比贡献者观点的Merged状态更有值(value)。

如果你决定 merge PR,你可以要求贡献者在当前 master 之上重新设置她的分支,这样历史就不会有太大的差异,但这可能不值得将这种官僚主义引入工作流程。

保持干净的历史很好,但在某些情况下,干净的历史不是线性的 - 不要试图对其进行过度设计:)

关于git - 如何使收到的具有更改历史记录的 GitHub PR 可 merge ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33191987/

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