Git 将远程(主)分支重定为特定提交

Git 将远程(主)分支重定为特定提交,git,github,rebase,Git,Github,Rebase,我意外地将local:deploy分支提交到remote:master分支 我知道远程主机分支上的最后一次提交,因为我在这个特定的提交上也有一个完整的本地主机。因此,我想还原此事件并将远程主机设置为该特定提交。一种方法是将更改从远程主机拉到本地主机,然后删除local:deploy的提交。我害怕再让事情变得更糟。请告知 我使用git进行最少的操作(git克隆、添加、推送、拉送),并且没有关于rebase、cherry pick等的高级知识 请建议如何恢复此事件。如果您希望远程主机与主机分支上的本

我意外地将
local:deploy
分支提交到
remote:master
分支

我知道远程主机分支上的最后一次提交,因为我在这个特定的提交上也有一个完整的本地主机。因此,我想还原此事件并将远程主机设置为该特定提交。一种方法是将更改从远程主机拉到本地主机,然后删除
local:deploy
的提交。我害怕再让事情变得更糟。请告知

我使用git进行最少的操作(git克隆、添加、推送、拉送),并且没有关于rebase、cherry pick等的高级知识


请建议如何恢复此事件。

如果您希望远程主机与
主机
分支上的本地副本具有相同的提交,并且对此绝对肯定,则可以强制推送本地
主机
,以替换远程主机的副本

因此,如果您的遥控器名为
origin
,则执行此操作的命令如下:

git checkout master
git push --force origin master

这是无法撤消的,因此请绝对确保这是您想要做的。如果您有任何疑问,请在执行此操作之前将遥控器克隆到另一个目录,以防万一。

现在一切似乎正常。我希望它不会破坏今后的其他行动。无论如何非常感谢!对于像我这样的新手和未来的推荐人,请确保你确切知道自己在做什么。这个解决方案对我很有帮助,因为这个存储库只由我管理,不是生产代码,也没有其他合作者或贡献者。我甚至还有另一个操作系统环境,我也在使用它。在这种情况下,我可能会将更改提交给该系统中的master,而不会在此处更新。因此,我确保母版的
本地副本在我的两个系统中都是相同的。