如题如何撤销git pull
声明:本文为作者自身实践,如因此操作导致了其他问题概不负责。
场景, 我们在本地branch A上修改了代码,然后commit and push(假设commit后的id 是A1),但是没有被merge到master branch中。这时候有其他同事提交了patch并且被merge到master branch上。这时我们需要在再次修改并push前执行git rebase,以确保你的代码修改是在最新的代码基础上做的。可是有时候不小心或者其他原因,本应该执行的git rebase没有执行,而是错误操作成git pull。 这时可以在eclipse的git插件中看到向上的提交个数已经不是1了,可能是2或者3等等,如图。如果我们这时候不撤销git pull,那么我们就无法继续在当前这个branch A上工作了,因为你需要amend previous commit,如果没有撤销git pull。你只能获得其他commit, 而不是你自己的commit。
如何撤销git pull
第一步,执行git reflog获取你自己的commit id(这里就是A1).当然你可以在eclipse的git插件中通过查看历史得到
或者git reflog命令
第二步,执行git reset –hard A1(这里的A1就是你自己最初提交patch的commit后的id)
第三步,重新执行git rebase(当然有冲突时需要自己合并)
在eclipse中可以刷新proejct,可以看到项目名称的右边只有1个向上的箭头