为啥还原的提交不会显示在新 PR 中?
Posted
技术标签:
【中文标题】为啥还原的提交不会显示在新 PR 中?【英文标题】:Why reverted commit won't show in new PR?为什么还原的提交不会显示在新 PR 中? 【发布时间】:2015-04-30 20:03:06 【问题描述】:这是发生了什么:
-
从 master 创建了分支 XYZ
在分支 XYZ 中提交的更改
将 XYZ 分支的 PR 转为 master
PR 被接受,代码合并到 master
PR 已恢复(它破坏了一些东西)
在分支 XYZ 中进行了一些提交,以修复项目 #2 上的提交已损坏
去了 Github.com 并创建了新 PR,但我只看到最后一次提交,而不是在项目 #2 上进行的其他提交
我想我的问题是:为什么第 2 项中提交的代码没有出现在我的新 PR 中?即使我在更改的文件列表中没有看到已恢复的提交,是否也会包含在此新 PR 中?
谢谢!
【问题讨论】:
您是否将 XYZ 上的提交推送到 github(到您从中创建拉取请求的分支)? @dennisschagt 是的,XYZ 上的提交被推送到 github 上的 master,但正如我提到的那样,随后又恢复了。虽然我确实看到了 github master 历史中的提交。 【参考方案1】:这里什么都没有,但是如果您将 master 恢复到 PR(本地)之前并将其推送到 master,继续在 XYZ 中进行更改并再次尝试 PR'ing?
【讨论】:
谢谢!这是一个有趣的.. 问题是 XYZ 分支是旧的,所以它没有最新的提交:PR 和恢复的 PR。因此,除非我将 Gihub 上的 master 合并到 XYZ 分支并尝试。但这对我来说听起来有点矫枉过正。我有一种感觉,即使我看不到那里的变化,也可以做一个新的 PR。因为提交已经在 Github 的 master 中,但只是在我使用相同的 XYZ 分支重新创建新 PR 之前不会合并到代码中。但我没有信心。【参考方案2】:对于那些想知道的人:我所要做的就是从 master 合并到 XYZ 分支,这样我就可以获得最新的提交,然后恢复恢复了我的代码的提交。然后,之前恢复的提交中的文件会显示在新 PR 中。
【讨论】:
第二部分你是怎么做的?恢复恢复 PR 的提交 @ArunGowda 之类的git revert -m 1 <commit-SHA>
不仅会恢复 PR 合并提交,还会恢复其所有子项。 HTH!以上是关于为啥还原的提交不会显示在新 PR 中?的主要内容,如果未能解决你的问题,请参考以下文章