如何在不更改本地代码的情况下撤消 git 推送?

How to undo git push without changing the local code?

我混淆了推送所有文件代码包括 lib 文件,它在 .gitandroid studio 中忽略。我们如何在不更改本地代码的情况下撤消 git 推送文件。恐怕,如果我重新设置Head,我的新本地代码会被遗漏。

我对 git 很陌生。请帮助并感谢。

只是 "backup" 你当前的 HEAD 例如:

git tag tmptag
git reset --hard HEAD^
git push --force
git reset --hard tmptag
git tag --delete tmptag

顺便说一句,别害怕。很难真正错误地删除提交。通常你总是看到所有最近的提交使用 git reflog。无需像我上面提到的那样创建这样的备份标记,您可以将分支重置为旧的原始 sha1 哈希,即使现有分支或标记在历史记录中不再有此提交。您甚至可以使用特殊标识符 ORIG_HEAD 而根本没有 copy/pasting 任何 sha1 哈希。