原点撤消后撤消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