我找不到解决问题的有效方法:
如何删除本地和远程存储库中的提交。
这里有一个solution。但是,当我尝试此操作时,可以在本地存储库中使用reset命令返回。但我推不动。错误信息显示:
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
但在pull之后,我的主人再次指向我要删除的提交。
你能帮忙吗?
编辑-我的尝试:

$ git reset --hard HEAD^1
HEAD is now at 1c50f9c good commit

$ git push -f
Total 0 (delta 0), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull first)
To E:/reps/gf.git
 ! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'E:/reps/gf.git'

最佳答案

您的远程存储库可能有一个不允许在服务器端进行非快速向前推送的设置。你有两个选择:
联系服务器管理员,解释您的案例,并要求他们(暂时)取消“不快进”推送策略,例如git config receive.denyNonFastForwards。(您仍然需要按下-f标志。)
使用git revert而不是git reset,并推送结果提交。提交及其逆操作都是可见的,但有时这是无法避免的。除非原始提交包含敏感数据,否则git提交将一直被还原。如果原始提交确实包含敏感数据,请参见选项1。

关于git - 在git中删除远程提交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15807848/

10-15 12:37
查看更多