在很长一段时间没有开发应用程序之后,我又重新开始了,并且无法整理错误。
因此,我签出了以前的本地分支,修复了它,然后执行了以下操作:
git checkout master
git pull origin master
git merge new_master
git push origin master(没有意识到我要将它与前面的错误合并)
然后我尝试了一些我在堆栈溢出上发现的东西,现在我完全迷失了。
我如何才能从这一点上回溯?
我已经从github中拉出了主服务器。
发布于 2014-10-25 19:15:17
您可以标记当前的master分支(这并不是您想要的)
git branch tmp您可以将主服务器重置为较旧的提交(在GitHub上查看主服务器的历史记录,并在推送之前选择一个SHA1 )
git reset --hard old_SHA1然后,您可以查看本地临时分支和cherry-pick the commit(s) you want to apply to master的历史记录。
完成后,您可以强制推送回源:
git push --force origin master发布于 2014-10-25 19:42:04
尝试还原它:
找出git合并的散列
git签出主文件git拉取源主文件git merge new_master git推送源主文件
使用git log,然后(Undoing Merges):
$ git revert -m 1 hash_founded但是,假设您想在git拉出之前回来,您应该
$ git revert -m 2 hash_founded-m选项“指定主线的父号(从1开始),并允许revert相对于指定的父号撤消更改。”(git revert)
你也可以随时重置:Revert to a previous Git commit
https://stackoverflow.com/questions/26561438
复制相似问题