git - 如何撤消最后一次 pull 并提交

标签 git git-reset git-revert

我错误地将主分支 pull 入开发分支并进行了一些更改。

我想恢复 pull 和提交。

我尝试过这个命令

git revert <commit hash>

但它给了我以下错误

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

如何恢复 pull 和提交?

最佳答案

git revert尽管“恢复”一词有口语意义,但不是您在这里需要的。

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

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

其中@{upstream}是一种构造,意思是“在上游,就像在远程分支中配置的那样从中 pull ”。

此后您不必--force任何事情,因为您没有改变历史,而是坚持历史。

关于git - 如何撤消最后一次 pull 并提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61727424/

相关文章:

git - 如何中止 git add -p 放弃更改?

git - 有没有一种方法可以干净轻松地撤消 git merge?

git - 如何将推送恢复到主分支,然后再次从新分支推送相同的更改?

git - 回滚到公共(public)仓库中的旧 Git 提交

git - 您如何 merge 已还原的提交?

git - 为什么当我在 Tig 中查看某些 git 提交时,它们有 "refs"?

git - 如何创建 git hook 以在提交消息前添加分支名称?

git - 如何在 Git Bash 中找到 Vim 的绝对路径?

git - 从主代码的*部分*分支,如何保持最新?

git - git reset --soft 只更改哈希值吗?