如何在远程分支上使用git重置错误提交?


How do I reset a bad commit using git on a remote branch?

本问题已经有最佳答案,请猛点这里访问。

我正在学习Git。

我在一个分支上有以下承诺

提交3

提交2

提交1

提交0

如何删除commit 1,但在远程分支上保留commit 2和3?


两种可能的不同解决方案:

  • git revert commit1; git push—创建一个新的提交,它将恢复提交1

  • git rebase -i HEAD~3然后只删除commit 1和git push -f,但请注意,这需要"强制推送"特权,这意味着重写并不总是可取的历史(做您的研究,这通常只有在处理尚未分发/发布/冻结的代码时才可行)。有关更多详细信息,请参阅手册页。