我可以撤消最后的git push吗?

一个团队成员昨天晚上在仓促时意外地把一半不需要的拉链推到了远程仓库。 是…哎呀。

从那时起,没有任何人撤回或承诺。

理想情况下,我只想“撤销”发生的事情。

我已经看filter分支,正在考虑尝试类似的东西

git filter-branch --tree-filter 'rm -f *.zip' HEAD 

但这将是本地的,我不知道如何直接在远程回购。

有没有简单的方法来撤消发生的事情? 如果她修改了她的最后一次提交,并再次推送将撤消推 – 即实际上从历史中删除这些文件?

很明显,如果她删除它们,再次提交并推送,那么仍然会将内容留在回购中,这是不好的。

谢谢唐,我看过,但不知何故没有意识到它解决了我的问题,因为我只有一个分支。

我做了:

 git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master 

这一切都是如此。

我认为

 git reset --hard HEAD^ git push -f 

应该诀窍:它重置您的本地签出到以前的提交(假设最后一个是你想要删除),并强制推送到远程存储库。