撤消'的问题;git推送';

撤消'的问题;git推送';,git,Git,我无意中使用Git push将一个项目推送到Git,当时我只是想将它放在本地存储库中(应该在Git提交后停止) 我想撤销这个git推送,这样服务器repo就会返回到特定的提交。我已经研究了其他问题,例如,但git push-f对我不起作用,并调出了错误:为了防止您丢失历史记录,非快进更新被拒绝。 我甚至试过 git push -f origin CommitSHA:mainline 我认为-f标记将强制推送,而不管我是否在推送之前的提交。我应该如何修复此错误,以便撤消git推送?您的消息是否缺

我无意中使用Git push将一个项目推送到Git,当时我只是想将它放在本地存储库中(应该在Git提交后停止)

我想撤销这个git推送,这样服务器repo就会返回到特定的提交。我已经研究了其他问题,例如,但git push-f对我不起作用,并调出了错误:
为了防止您丢失历史记录,非快进更新被拒绝。
我甚至试过

git push -f origin CommitSHA:mainline

我认为-f标记将强制推送,而不管我是否在推送之前的提交。我应该如何修复此错误,以便撤消git推送?

您的消息是否缺少某些内容?我认为应该这样说

在再次按下之前,合并远程更改(例如“git pull”)

在关于拒绝推送的部分之后。因此,这意味着远程分支可能比本地分支有更多的最新更改,例如,其他人推动了更改。在这种情况下,我建议不要强行推,因为你可能会扔掉其他人的承诺

你可以:

  • 无论如何都要这样做(
    git pull
    first应该可以)
  • 使用
    git revert
    撤消提交。这将最终引入第二个提交,恢复第一个提交,因此这两个提交都将出现在历史记录中()。这并不理想,但在远程分支上重写历史从来都不理想

    • 您的信息是否遗漏了什么?我认为应该这样说

      在再次按下之前,合并远程更改(例如“git pull”)

      在关于拒绝推送的部分之后。因此,这意味着远程分支可能比本地分支有更多的最新更改,例如,其他人推动了更改。在这种情况下,我建议不要强行推,因为你可能会扔掉其他人的承诺

      你可以:

      • 无论如何都要这样做(
        git pull
        first应该可以)
      • 使用
        git revert
        撤消提交。这将最终引入第二个提交,恢复第一个提交,因此这两个提交都将出现在历史记录中()。这并不理想,但在远程分支上重写历史从来都不理想