在推送git合并时撤消它

在推送git合并时撤消它,git,version-control,git-push,Git,Version Control,Git Push,合并后我已经推送到主控台,如何撤消合并? 以下是我的步骤: git add-A git提交-m“一些消息” git获取原始主机:主机 git重新基础主机(解决合并冲突) git push-f origin我的本地分支机构 我想回到我在第2步的状态,也就是说,您强制按下,这意味着您在远程计算机上重写了更改您的计算机无法修复;但是,如果在强制推送之前有另一台计算机具有本地副本,则可以从该计算机强制推送并覆盖强制推送 Git的推力是破坏性的,因为它是无条件的 用您在本地拥有的任何内容覆盖远程存储库,

合并后我已经推送到主控台,如何撤消合并? 以下是我的步骤:

  • git add-A

  • git提交-m“一些消息”

  • git获取原始主机:主机

  • git重新基础主机(解决合并冲突)

  • git push-f origin我的本地分支机构


  • 我想回到我在第2步的状态,也就是说,您强制按下,这意味着您在远程计算机上重写了更改您的计算机无法修复;但是,如果在强制推送之前有另一台计算机具有本地副本,则可以从该计算机强制推送并覆盖强制推送

    Git的推力是破坏性的,因为它是无条件的 用您在本地拥有的任何内容覆盖远程存储库, 可能会覆盖团队成员在 与此同时-


    在某些情况下,签出到旧的提交,然后强制推送可能会起作用,但我怀疑这在您的情况下可能不会起作用,因为您必须强制推送更改。

    强制推送,这意味着您在远程服务器上重写了更改您的计算机无法修复;但是,如果在强制推送之前有另一台计算机具有本地副本,则可以从该计算机强制推送并覆盖强制推送

    Git的推力是破坏性的,因为它是无条件的 用您在本地拥有的任何内容覆盖远程存储库, 可能会覆盖团队成员在 与此同时-


    在某些情况下,签出到旧的提交,然后强制推送可能会起作用,但我怀疑在您的情况下可能不会起作用,因为您必须强制推送更改。

    您可以执行
    git checkout
    ,然后返回到以前的状态。从git日志中获取提交id,然后一旦签出,代码将处于分离状态。因此,要解决这个问题,请执行
    git checkout-b old_branch
    。然后按一下git-push-f origin mylocalbranch。这并不总是有效的@SahilI实际上使用了rebase而不是merge。我编辑了这个问题。在您的回答中,old_branch和mylocalbranch之间有什么区别?您可以执行git checkout,然后返回到以前的状态。从git日志中获取提交id,然后一旦签出,代码将处于分离状态。因此,要解决这个问题,请执行
    git checkout-b old_branch
    。然后按一下git-push-f origin mylocalbranch。这并不总是有效的@SahilI实际上使用了rebase而不是merge。我编辑了这个问题。在你的回答中,old_branch和mylocalbranch有什么区别?