如何正确还原多个合并到远程主控

时间:2016-11-28 08:34:03

标签: git github merge git-revert

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

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

git checkout 1ba671a79a0cc57129768ce1ad0218e17841e4d9

然后

git checkout -b "experimental-branch"

我在实验分支的阶段有所有内容,但我想在主分支中这样做。我怎么能这样做?

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

1 个答案:

答案 0 :(得分:2)

如果您确实要将master分支重置为此提交,请使用:

git reset --hard 1ba671a7

这会将master分支重置为此提交。但请记住,这将重写此分支的历史。这意味着它可能会导致共享分支的其他任何人出现问题(我假设此刻没有其他人共享)。

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

git push --force origin master

强制分支到存储库。

如果您尝试在公开共享分支上恢复提交,则应该考虑使用git revert代替。