如何正确地将多个合并还原为远程主机

How to correctly revert multiple merge to remote master

我有 5 个分支 master,branch-1,branch-2,branch-3 和 branch-4。

我对 branch-3 进行了一些更改并合并到 master 并再次做了两次,现在我想回到所有 3 合并之前的阶段,我可以检出该提交并创建另一个包含的分支我需要的数据。

git checkout 1ba671a79a0cc57129768ce1ad0218e17841e4d9

然后

git checkout -b "experimental-branch"

我在 experimental-branch 中有我想要的阶段的所有内容,但我想要在 master 分支中。我该怎么做?

我想将我的主人重置为这个提交“1ba671a79a0cc57129768ce1ad0218e17841e4d9”,之后有不需要的提交和合并。

如果你真的想将你的 master 分支重置为这个提交,那么只需使用:

git reset --hard 1ba671a7

这会将您的 master 分支重置为此提交。但请记住,这将重写该分支的历史。这意味着它可能会给共享该分支的任何其他人带来问题(我假设目前没有其他人正在共享)。

要推送更新的 master,您需要使用:

git push --force origin master

强制分支到存储库。

如果您试图在公开共享的分支上恢复提交,您真的应该考虑使用 git revert