删除远程 git 上的提交

geo*_*oot 2 git github git-reset

我有一个dev分支,我们在上面推送所有内容。最后一次提交破坏了我们的整个构建,我需要删除它。对于本地我使用

git reset --hard <SHA_ID>

这适用于本地存储库,但是当我尝试推送更改时被拒绝,因为当前分支的提示位于远程后面并显示我可以git pull在再次推送之前使用。

我的问题是,如何让遥控器转到与本地存储库相同的 HEAD 并删除最后一次提交。

Mur*_*nik 5

您可以使用该--force参数将远程分支“重置”为本地存储库上的相同提交:

$ git push origin --force
Run Code Online (Sandbox Code Playgroud)

请注意,这被认为是一种不好的做法,因为您可能会给依赖此分支的人造成相当大的混乱。一个更友好的方法是承认错误的提交并通过git reverting修复它,而不是试图“表现得好像它从未发生过” git reset