我正在研究一个使用gh-pages
来部署网站的React项目。我不小心将master
分支与gh-pages
分支合并,并将master
上的所有更改都带到gh-pages
。总共,它向我的gh-pages
分支添加了24次以前没有的提交。
我想知道是否有一种方法可以还原这些更改并使我的gh-pages
分支回到最初的6个提交?
如果可能的话,是否有办法从GitHub上删除gh-pages
分支上的那24个额外提交?
我查看了与git reset --hard
和git rebase
相关的资源,但不确定它们是否可以解决我的问题。我不想破坏这个项目的git结构,而不是已经破坏了。
答案 0 :(得分:0)
最安全的做法是git revert
对您偶然做出的合并提交。通过执行git revert
,应注意,您正在添加 new 提交,该提交从功能上撤消了您偶然进行的master
的合并提交。这是操作方法:
# from gh-pages
git log
# find the SHA-a of the merge commit, and then do
git revert -m 1 <merge commit hash>
请注意,您可能想在这里使用-m 1
,它告诉Git恢复为第一个父对象,通常是您的gh-pages
功能分支。
请注意,在此处执行还原提交比尝试剪切合并提交更可取。这样做的原因是,实际上删除合并提交意味着重写历史记录,这会对使用您的gh-pages
分支的其他人造成麻烦。