如何将远程主机重置回未与git中的另一个分支合并的提交

如何将远程主机重置回未与git中的另一个分支合并的提交,git,version-control,Git,Version Control,情况如下: 在主分支上的提交001处,创建分支b1 对b1进行多次提交 将b1的主管与主分支合并 找出合并是错误的。所以我想返回到远程主分支上的commit 001。然后我可以在主分支和b1分支之间启动拉取请求 基于以上描述,我应该使用哪个命令将远程主分支恢复到commit 001 非常感谢 如果您已将合并主机推送到远程回购,并且不允许您重写已发布的历史记录 git checkout master git revert <merge_commit> -m 1 git push ori

情况如下:

  • 在主分支上的提交001处,创建分支b1
  • 对b1进行多次提交
  • 将b1的主管与主分支合并
  • 找出合并是错误的。所以我想返回到远程主分支上的commit 001。然后我可以在主分支和b1分支之间启动拉取请求
  • 基于以上描述,我应该使用哪个命令将远程主分支恢复到commit 001


    非常感谢

    如果您已将合并主机推送到远程回购,并且不允许您重写已发布的历史记录

    git checkout master
    git revert <merge_commit> -m 1
    git push origin master
    

    如果您已将合并主机推送到远程repo,并且不允许您重写已发布的历史记录

    git checkout master
    git revert <merge_commit> -m 1
    git push origin master
    

    嘿,谢谢你的回复!在我这样做之后,我打算在master和b1之间启动一个pull请求,它在github上说没有什么可比较的。这是为什么?
    git签出主机;git日志;git-m1;git push-u原始主机
    @犹豫不决对不起,我错了。我应该问你更多的细节。这是真正的合并还是快进合并?如果是快进合并,请使用
    git reset--hard
    git push-f origin master
    强制更新远程master。实际上,我对master branch没有-f权限。我以前做的是
    git checkout master;git拉源主控;git合并测试;git推源主机@Judking这是不是一个快进合并?如果是,git将还原b1引入的每个提交。如果没有,git还原合并提交-m1应该可以工作。嘿,谢谢你的回复!在我这样做之后,我打算在master和b1之间启动一个pull请求,它在github上说没有什么可比较的。这是为什么?
    git签出主机;git日志;git-m1;git push-u原始主机
    @犹豫不决对不起,我错了。我应该问你更多的细节。这是真正的合并还是快进合并?如果是快进合并,请使用
    git reset--hard
    git push-f origin master
    强制更新远程master。实际上,我对master branch没有-f权限。我以前做的是
    git checkout master;git拉源主控;git合并测试;git推源主机@Judking这是不是一个快进合并?如果是,git将还原b1引入的每个提交。如果没有,git将恢复合并提交-m1。
    
    git push -f origin master