【问题标题】:How to trigger "Merged" status for a pull request with commit message如何使用提交消息触发拉取请求的“合并”状态
【发布时间】:2015-03-14 11:31:40
【问题描述】:

像一些others 一样,我不喜欢默认的“合并拉取请求”按钮行为,所以我在本地命令行上整理好东西,然后推回回购。我希望该推送自动将原始 PR 解析为“已合并”。

使用指定的魔术字符串 here(从类似的 SO 问题 here 中找到)是我想要的几乎。不幸的是,包括closes #123 将 PR 标记为“已关闭”,这本身就是“拒绝”的同义词。

我想知道是否有一种方法可以触发与您按下按钮时相同的“合并”状态(带紫色图标)。

到目前为止,我已尝试将以下内容添加到我的提交消息中,但无济于事:

【问题讨论】:

  • 默认 GitHub 合并消息是 Merge pull request #XXX from user/branch。可能我们需要尝试类似的。
  • 同意,但如果可能的话,我想确认一下。如果到那时我还没有得到答案,我会尝试下一次。
  • 我建议github.com/contact 来“联系一个人”:)
  • @ReedCopsey -- 完成。谢尔盖——没用 :-(

标签: git github merge


【解决方案1】:

一旦 PR 分支中的提交也在目标分支中找到(通常为 master),GitHub 就会认为 PR “已合并”。使用rebase 工作流程,您的流程可能如下所示:

  1. 创建一个跟踪您的 PR 分支的分支:git checkout -t origin/my-pr-branch
  2. git rebase master
  3. git push -f origin my-pr-branch (或者只是 git push -f,如果您已将 push.default 更改为正常的东西)
  4. 将您的更改推送到远程和本地master,关闭 PR:git push origin HEAD:master && git push . HEAD:master

【讨论】:

  • 我认为问题出在 rebase / squashing 的某个地方,因为它正在创建与 PR 中的原始提交没有真正联系的新提交。
  • 是的,如果 PR 是在分叉上打开的,那么您需要分支的所有者重新设置/操作分支并推送到他或她的分叉,然后才能进行快进推送从你的机器上掌握。
  • 这与我从 GitHub 客户支持处得到的回复相符。基本上,现在根本不支持 rebase 风格的 PR。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2015-09-09
相关资源
最近更新 更多