删除远程 git 上的提交

Delete commits on remote git

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

git reset --hard <SHA_ID>

这对本地回购很有效,但是当我尝试推送更改时,更改被拒绝,因为当前分支的提示在远程后面,并告诉我在再次推送之前使用 git pull

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

您可以使用 --force 参数来 "reset" 远程分支到本地存储库上的相同提交:

$ git push origin --force

请注意,这被认为是一种不好的做法,因为您可能会给依赖此分支的人们造成相当大的混乱。一种更友好的方法是承认错误的提交并通过 git reverting 来修复它,而不是尝试 "act as though it never happened" 和 git reset.