返回一个被推送到远程的提交

Go back one commit that was pushed to remote

我不小心推了一些我不该推的东西,现在我想恢复它,但我做不到,因为如果我硬重置为 05669,它不会让我推它,因为远程 HEAD领先...

我在其他问题上看到强制推送会给其他人带来麻烦,但这也是他们推荐的(嗯?),我真的应该强制推送来解决这个问题吗?有没有别的方法不给别人添麻烦?

Git: permanently remove few commits from remote branch

How do I push amended commit to the remote Git repository?

如果远程分支被其他团队成员使用,特别是如果它是主要开发分支,那么 git reset 是危险的,因为它删除了其他人已经拉取的提交。你还需要做一个git push --force,这意味着你需要获得这样做的许可。

最安全的选择是使用 git revert command 还原提交。

这将保留您现有的提交,然后在顶部添加一个额外的还原提交。这是安全的,因为您不会更改历史记录,也不会删除其他团队成员已经拉取和依赖的提交。请注意,如果在还原过程中事情失控(例如,您遇到不确定如何解决的冲突),您始终可以通过 git revert --abort.

中止操作