还原git merge和连续提交

时间:2018-01-04 09:57:40

标签: git github git-merge git-reset

我在尝试将分支与主服务器合并时遇到了麻烦,因为合并尝试删除我需要保留的主服务器上的文件和更改。我最终将一个部分破坏的合并提交给主人,在尝试解决问题后我做了很多提交。

现在我想通过将主服务器重置为其原始状态来撤消所有这些操作。我是唯一一位对主人进行更改的人,因此其他用户不应该成为问题。将硬重置为先前的提交是否足够?或者我还需要采取其他措施来确保重置在未来的合并中不会引起问题吗?

1 个答案:

答案 0 :(得分:0)

硬重置就足够了,因为它会将所有文件重置为指定提交中的状态。

例如,git reset --hard HEAD~3将所有文件重置为第三次提交,无论最后三次提交中发生了什么。您的文件将处于某种状态,就好像这些提交从未发生过一样。

您可以使用要重置的提交的SHA ID,而不是使用HEAD~X表示法。

编辑:强制性的警告词:如果有人拉动并正在处理您的更改,如果他们尝试将他们的工作合并到您重置的主人身上,事情就会变得混乱。此外,reset --hard会删除所有未经修改的更改,而无法将其恢复。