【问题标题】:Reverting git merge and consecutive commits恢复 git merge 和连续提交
【发布时间】:2018-06-14 00:51:54
【问题描述】:

我在尝试将分支与 master 合并时遇到了麻烦,因为合并试图删除 master 上我需要保留的文件和更改。我最终向主服务器提交了部分损坏的合并,之后我进行了很多次提交以试图解决问题。

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

【问题讨论】:

    标签: git github git-merge git-reset


    【解决方案1】:

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

    例如,git reset --hard HEAD~3 会将所有文件重置为倒数第三个提交,无论它们在最后三个提交中发生了什么。您的文件将处于这些提交从未发生过的状态。

    除了使用HEAD~X 表示法,您当然可以只使用您想要重置的提交的SHA id。

    编辑:强制性警告:如果有人拉动并正在处理您的更改,那么如果他们试图将他们的工作合并到您重置的主服务器中,事情就会变得混乱。此外,reset --hard 会删除所有未提交的更改,而没有任何机会取回它们。

    【讨论】:

      猜你喜欢
      • 2015-09-24
      • 2016-06-09
      • 2018-06-22
      • 2021-12-27
      • 2011-03-14
      • 2019-04-11
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多