【问题标题】:How to undo a last pull and commit如何撤消最后一次拉取和提交
【发布时间】:2020-08-26 20:37:50
【问题描述】:

我错误地将 master 分支拉入到 development 分支并提交了一些更改。

我想恢复拉取和提交。

我试过这个命令

git revert <commit hash>

但它给了我以下错误

commit <commit hash> is a merge but no -m option was given.

如何恢复拉取和提交?

【问题讨论】:

    标签: git git-reset git-revert


    【解决方案1】:

    git revert 不是你在这里需要的,尽管“revert”这个词的口语意义。

    相反,您宁愿将分支重置到错误拉取之前的位置:

    git checkout develop
    git reset --hard @{upstream}
    

    其中@{upstream} 是一个结构,意思是“在上游,就像在远程分支中,这个分支被配置为从中提取”。

    在此之后您将无需 --force 任何事情,因为您不会改变历史,而是要坚持下去。

    【讨论】:

    • 我是 git 命令的新手,你能告诉我上游是什么以及应该在那里赋予什么价值吗?
    • @Syedmohamedaladeen @{upstream} 不是占位符,这是按原样输入的。然后 Git 将使用这个本地分支 (develop) 链接到的远程分支。如果您的遥控器名为origin,您也可以使用origin/develop,我只是试图保持通用。
    【解决方案2】:

    运行此命令。

    git reset --keep e2djke3 #your commit id

    这种变体更安全。然后像往常一样提交更改

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2013-07-03
      • 2016-09-22
      • 2016-10-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      • 2011-10-01
      • 2013-10-18
      相关资源
      最近更新 更多