【问题标题】:How to fix a pull request after git merge, amend, push?如何在 git 合并、修改、推送后修复拉取请求?
【发布时间】:2016-07-04 15:17:14
【问题描述】:
在 github 上有一个 pull request 到 master。
我在命令行上合并了拉取请求。注意到一个小问题,所以修复它,做了一个
git commit --amend
并推了主人。
坏主意。
现在 github 无法识别拉取请求已被合并。
我怎样才能让它看起来像是在要合并的分支上发生了修改,因此合并发生了?还是有更好的策略来解决这个问题?
【问题讨论】:
标签:
git
github
merge
pull-request
【解决方案1】:
如果你不愿意强制 push 重写历史,那你也无能为力。 IMO,您应该简单地关闭 github 界面中的拉取请求,并可能留下您合并它的评论。
另一种选择是,您可以尝试再次合并它,如果这导致非平凡的提交,然后推送它,也许 github 会选择它。但是很乱。
有许多项目实际上从不合并拉取请求,例如,许多自制 PR 没有合并,而是压缩为单个提交,由自制开发人员重新格式化,修改后的版本被合并,然后它们关闭原本的。这不是一个坏习惯。
【解决方案2】:
- 删除本地分支
- 从master创建一个新的同名
- 将其强制推送到原始拉取请求位置
- 放松一下