Git恢复合并
我有一个功能分支创建,比如说github上的feature/branch1
。 我为它创建了一个拉取请求并将它合并。 Git恢复合并
当达到我们的管道,我们计算有问题,我们得到了它恢复使用的Git上的 Revert按钮,这就造成我们合并了主,一切都很好了“还原” PR。
几个星期之后,即得到了合并到主后其他永久居民,我们想通我们会还原最回复。这一次,我们进入了关闭的Revert PR,并尝试再次使用Revert按钮。但是我们收到了此错误消息
Sorry, this pull request couldn’t be reverted automatically.
It may have already been reverted, or the content may have changed since it was merged.
如何完成此回复?
我希望拥有的最理想的情况是拥有一个新分支,其中包含还原,所以我可以做出进一步更改并通过PR流程返回。
你看到的错误是github的人工检查,我个人觉得这是不需要的。您可以在本地恢复恢复:
git fetch origin master
git checkout origin/master (or reset)
git revert <REVERT HASH>
git push origin master
这应该成功,模数与自恢复以来所做的更改发生冲突。 PS:其实,错误可能是因为冲突。
错误确实是由于冲突。尽管github并没有提供太多的信息。 – Serendipity
什么你可以尝试是:
- 复位(
git reset --hard old_commit
),其PR分支的承诺要恢复到(这是恢复的) - 力推(
git push --force
)分支:是将更新PR
这样,PR就会再次执行旧提交。
这是一个合并提交。公关已经关闭并合并。
在这种情况下,如果你有取旧PR分支,你可以这样做:
- 就可以了
git log
(git log origin/old_pr_branch
) -
从旧SHA1一个新的分支提交代表内容您现在想
git checkout -b new_pr_branch old_sha1
-
推到原点
混帐推-u起源new_pr_branch
然后,您可以随时向他的新分支新的PR,用正确的内容。
我需要更多信息。这是一个合并提交。 PR已关闭并合并。我读过它是不可能重新打开一个关闭的PR。我读到你的答案错了吗? – Serendipity
@Sendndipity我没有得到公关被关闭。你还能访问公关分支吗?这个想法将是基于旧的提交(被恢复的,但现在你想要的)创建一个新的分支,并从该新分支创建一个新的PR。 – VonC
我有权访问PR分支,是的。然而,我读到你的答案的方式,似乎更新现有的公关分支 – Serendipity
你用什么工具恢复?我严重怀疑git本身会打印它 – max630
这个'revert'按钮是github上的一个功能。 – Serendipity