原点撤消后撤消git合并
在长时间没有在应用程序上工作之后,我又重新开始工作,无法解决错误。
所以我结帐了一个以前的本地分支,修复它,然后我做到了这一点:
git checkout master
git pull origin master
git merge new_master
git push origin master
(没有意识到我要将它与以前的错误合并)
然后我尝试了一些我在堆栈溢出中发现的东西,现在我完全丢失了。
我该如何回避这个问题?
我已经从github中取得了主人。
你可以标记你当前的master
分支(这不是你想要的)
git branch tmp
您可以将您的主设备重置为较早的提交(查看GitHub上的主设备历史记录,并在推送之前选择一个SHA1)
git reset --hard old_SHA1
然后,您可以查看本地tmp分支的历史记录,并挑选要应用于master
的提交。
一旦完成,您可以强制推送到原点:
git push --force origin master
尝试恢复它:
找出git合并的散列
git checkout master git pull origin master git merge new_master git push origin master
与git log
,然后(撤消合并):
$ git revert -m 1 hash_founded
但是,假设你想在git pull之前回来,你应该去
$ git revert -m 2 hash_founded
“-m选项”指定主线的父代号(从1开始),并允许还原以相对于指定的父代的相反更改。“ (git恢复)
你总是可以重置:恢复到之前的Git提交
链接地址: http://www.djcxy.com/p/37819.html上一篇: Undo a git merge after origin pull
下一篇: How do I `hg revert