我尝试将我的本地分支(称为' local ')重新设置为master。下面是我所做的:
$ git checkout local
$ git rebase -s ours master
First, rewinding head to replay your work on top of it...
...
Already applied: 0017 smore more work
/usr/lib/git-core/git-rebase: 590: cannot open /home/mathieu/dummy/.git/rebase-merge/rewritten: No such file
All done.我可以从注释中找到一些对我的本地分支的引用,但我不知道如何恢复代码。例如:
$ cd .git && grep -lr "smore more work" *
logs/refs/heads/progresscallback
logs/HEAD发布于 2011-03-23 00:15:29
我假设rebase实际上并没有完全成功?
您可能想要做的是查看git reflog show local。您应该会看到local分支之前的一些位置,希望大致是这样的:
d22ffd5 local@{0}: rebase finished: refs/heads/local onto fd02971501218f3817ceffa970ae9a4813139ae0
9011ecf local@{1}: commit: foo
6134eab local@{2}: commit: bar假设local仍然被签出(如果没有签出,请检查它),您所需要做的就是git reset --hard 9011ecf,其中是分支在rebase之前指向的提交的SHA1。这将非常简单地将local分支重置为再次指向该提交,并随之更新您的索引和工作树。
https://stackoverflow.com/questions/5393772
复制相似问题