我有5个分支master,branch-1,branch-2,branch-3和branch-4。
我对branch-3进行了一些更改并合并为master并再次执行了两次,现在我想在所有3次合并之前返回到舞台,我可以签出该提交并创建另一个包含数据的分支我需要它。
与
git checkout 1ba671a79a0cc57129768ce1ad0218e17841e4d9
然后
git checkout -b "experimental-branch"
我在实验分支的阶段有所有内容,但我想在主分支中这样做。我怎么能这样做?
我想将我的主人重置为此提交" 1ba671a79a0cc57129768ce1ad0218e17841e4d9
"之后有提交和合并,这是不需要的。
答案 0 :(得分:2)
如果您确实要将master
分支重置为此提交,请使用:
git reset --hard 1ba671a7
这会将master
分支重置为此提交。但请记住,这将重写此分支的历史。这意味着它可能会导致共享分支的其他任何人出现问题(我假设此刻没有其他人共享)。
要推送更新的master
,您需要使用:
git push --force origin master
强制分支到存储库。
如果您尝试在公开共享分支上恢复提交,则应该考虑使用git revert
代替。