长时间没有使用应用程序后,我又重新开始了,并且无法解决错误。
所以我检查了一个以前的本地分支,修复了它,然后我做了这个:
git checkout master
git pull origin master
git merge new_master
git push origin master
(没有意识到我要将它与以前的错误合并)
然后我尝试了一些我在堆栈溢出时发现的东西,现在我完全迷失了。
我如何从此回溯?
我从github拉了主人。
答案 0 :(得分:0)
您可以标记当前的master
分支(不是您想要的)
git branch tmp
您可以将主服务器重置为较旧的提交(在GitHub上查看master的历史记录,然后在推送之前选择SHA1)
git reset --hard old_SHA1
然后,您可以查看本地tmp分支的历史记录,以及cherry-pick the commit(s) you want to apply to master
。
完成此操作后,您可以强制推送到原点:
git push --force origin master
答案 1 :(得分:0)
尝试还原它:
找出git merge的哈希值
git checkout master git pull origin master git merge new_master git push origin master
git log
,然后是Undoing Merges):
$ git revert -m 1 hash_founded
但是,假设你想在 git pull 之前回来,你应该去
$ git revert -m 2 hash_founded
-m选项“指定主线的父编号(从1开始),并允许恢复相对于指定父级的更改。” (git revert)
您也可以随时重置:Revert to a previous Git commit