正如你在图片中看到的,我正在功能forum_kolo_3工作,我决定完成该功能并将其 merge 到开发中(但没有将更改推送到远程开发,所以它只是本地更改),然后我意识到这是一个坏主意,现在我想删除这个 merge ,就像它从未发生过一样。
与此处描述的情况类似:git revert not allowed due to a merge but no -m option was given
但我不太确定现在该怎么做,是逆转还是重置? 我想撤消刚刚所做的 merge 。
我还发现了这个How to revert Git repository to a previous commit?
git revert --no-commit 0766c053..HEAD
git commit
这似乎是一个更好的主意......但我不知道
最佳答案
git revert
当您想要撤消的更改已发布时非常有用。它基本上恢复由另一个提交操作的更改(删除添加的行,添加删除的行,在另一个方向更改已更改的行)。
它与“撤消”操作类似,但它通常发生在其他提交已添加到分支并创建新提交之后。
now I want to remove this merge, like it never happened.
由于您没有发布更改,因此最好的解决方案是使用 git reset --hard
.
如果您使用develop
分支,你最后的命令是 git merge feature/forum_kolo_3
,通过运行 git reset --hard HEAD^1
。它将当前分支 ( develop
) 移动到 merge 提交的第一个父级(即 merge 之前的位置)。
关于GitHub 恢复或重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44799555/