我使用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