Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
退出GitHub上的错误PR合并_Git_Github_Revert - Fatal编程技术网

退出GitHub上的错误PR合并

退出GitHub上的错误PR合并,git,github,revert,Git,Github,Revert,我有一个GitHub回购协议,它松散地遵循git流。有两个长期存在的分支:master和develope。两个功能分支(feature/one和feature/Two)不久前从断开。为这两个项目创建了PRs,并将其合并回develope feature/onePR中有垃圾代码,但我不小心将其合并到了develope中,并想将其删除。我可以使用哪些特定命令来“撤消”此“垃圾公关”合并?是否可以从GitHub内部执行所有操作,或者我必须在本地进行还原,然后将其推送到GitHub?您仍然可以在此处使用

我有一个GitHub回购协议,它松散地遵循git流。有两个长期存在的分支:
master
develope
。两个功能分支(
feature/one
feature/Two
)不久前从
断开。为这两个项目创建了PRs,并将其合并回
develope


feature/one
PR中有垃圾代码,但我不小心将其合并到了
develope
中,并想将其删除。我可以使用哪些特定命令来“撤消”此“垃圾公关”合并?是否可以从GitHub内部执行所有操作,或者我必须在本地进行还原,然后将其推送到GitHub?

您仍然可以在此处使用
git revert
,就像在非合并提交中一样,但您还必须指定要遵循的父级:

git revert <SHA-1 of merge commit> -m 1
git还原-m 1
这将添加一个新的提交,它将在功能上撤消合并提交,并将分支带回第一个父级。如果您想要第二个父对象,可以使用
-m2


可能有一种方法可以从GitHub UI直接处理此问题,但也可以在本地处理。

谢谢@Tim(+1)-因此我可以很容易地找到合并的SHA-1提交,但我没有100%看到父方/
m
-arg端的“树中的森林”。我只想撤消
develope
分支,并将其恢复到合并之前的状态。听起来你是在说
-m1
那么这个命令合适吗?再次感谢@smeeb和我的回忆说,第一个父对象是合并的目标,第二个父对象是您合并到目标中的对象。但是你可以试试
-m1
,然后检查一下。谢谢@Tim(+1)最后一个问题(我保证!)。我假设我必须提交并在完成后推送恢复?或者只是推送?我认为恢复将自动添加提交,所以您应该只需要推送。理想情况下,不会有任何冲突迫使你先退出。