如何使用提交消息触发拉取请求的“合并”状态

14
像一些其他人一样,我不喜欢默认的“合并拉取请求”按钮行为,因此我会在本地命令行上整理好东西,然后推回存储库。我希望该推送可以自动解决原始PR为“已合并”。
使用此处指定的魔法字符串(在类似SO问题这里找到)几乎是我想要的。不幸的是,包括标记PR为“已关闭”,这本身有点等同于“已拒绝”。
我想知道是否有一种方法可以触发相同的“已合并”状态(带有紫色图标),就像您只需按下按钮即可获得一样。
到目前为止,我尝试将以下内容添加到我的提交消息中,但无济于事:

1
默认的 GitHub 合并信息是 Merge pull request #XXX from user/branch。也许我们需要尝试类似的信息。 - Sergey Tihon
同意,不过如果可能的话我想要确认一下。如果到那时候我还没有得到答案,我会尝试这个方法的。 - latkin
1
我建议使用https://github.com/contact来“联系人类” :) - Reed Copsey
@ReedCopsey -- 完成了。Sergey -- 没有成功 :-( - latkin
1个回答

5

GitHub认为PR在提交分支的提交也出现在目标分支(通常是master)时即被视为“合并”。使用rebase工作流,您的过程可能如下:

  1. 创建一个跟踪您的PR分支的分支:git checkout -t origin/my-pr-branch
  2. git rebase master
  3. git push -f origin my-pr-branch (如果您已将push.default更改为某些合理的内容,则只需执行git push -f
  4. 将更改推送到远程和本地的master,关闭PR:git push origin HEAD:master && git push . HEAD:master

3
我猜问题可能出现在变基/压缩上,因为它创建了新的提交,这些提交与PR中原始提交没有真正联系。 - forki23
1
是的,如果PR是在一个分支上打开的,那么你需要分支的所有者进行rebase/操作分支并推送到他或她的fork上,然后你才能从你的机器上进行快进式推送到主分支。 - dahlbyk
2
这与我从GitHub客户支持获得的回复相符。基本上,目前没有任何支持重定基风格PR的支持。 - latkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接