我使用git svn
来获得一些git善良与公司强制svn服务器。我刚刚有了一个底垫中去可怕出差错,我“米试图找出最佳恢复方式从失败的rebase恢复
这里发生了什么:
首先,我有这个
---1 (master) \--B--C--D--E (feature/fix-widgets)
然后我做了
git checkout master
然后git svn rebase
在master上拉下了这些提交。我没有预料到我的特性分支和master之间有任何冲突,因为这些更改都在一个完全不同的文件夹中。我有这个:---1--2--3--4 (master) \--B--C--D--E (feature/fix-widgets)
其中
1--2--3--4
是提交从svn。接下来我做了
git checkout feature/fix-widgets
然后git rebase master
。马上就会有冲突,有些东西没有加起来,所以我决定溜走,更仔细地看待事情。我做了git rebase --abort
,希望这会使我恢复到重建之前的状态。我做
git rebase --abort
并收到以下消息$ git rebase --abort error: git checkout-index: unable to create file somedir/somefile.cs (Permission denied) fatal: Could not reset index file to revision 'be44daa05be39f6dd0d602486a598b63b6bd2af7'.
现在我不知道该怎么办。
git status
表明我在feature/fix-widgets
上,但是我有一大堆的上演变更,以及之前提交的大量未跟踪文件。我会很好,如果我可以回E
。
我今天遇到这个非常相同的问题 - 我猜你在Windows上使用git,那个可爱的操作系统,认为共享锁是一个好主意。我的猜测是,它在somedir/somefile.cs上窒息的原因是它在某处开放......这是我失败的rebase的原因。关闭所有我能找到的开放程序,根据选定的答案进行重置,然后重新绑定,工作没有问题。 – 2012-08-20 19:59:13
对于写得很好的问题,让我免于哭泣。 – Tinman 2013-06-27 07:29:20