如何正确地将多个合并还原为远程主机
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
。
我有 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
。