我在我的存儲庫中有2個分支。他們中沒有任何未提交的變化。GIT Rebase操作因PC崩潰而中斷。現在存儲庫不可用
我拉了branch1,檢出了branch2,並在branch1上啓動了branch2 rebase。
在工作中,我的電腦崩潰了。
它終於啓動後,我打開GitExtensions發現我的存儲庫是完全空的,我看到閃爍的'rebase under way'
或類似的東西,我點擊它,它彈出窗口,我必須選擇修復衝突,這不應該發生。如果我點擊「解決」,它會打開窗口,顯示衝突的文件,當然沒有。
我試圖點擊abort rebase
,但它說那個文件夾是not a git repository or any of the parents
。
從那時起,我可以做任何事情。我無法中止,看不到提交。打開git bash只是告訴我/some/path/to repo/repo name ((...) | REBASE)
當我寫git status
它說它不是一個存儲庫。
嗯,我也不會很在乎失敗重訂,但我注意到,我所有的源文件變成二進制文件,這意味着,我的unpushed提交丟失,除非你們能幫助我恢復。
我想重新分支並推動它......這是令人沮喪的。
EDIT 1:
.git
目錄是在存儲庫目錄(/some/path/to_repo/repo_name/.git
),因爲它應該的。 當分支2提交正在重新應用時,PC崩潰。這意味着branch1提交已經應用到分支2,唯一剩下的就是完成應用分支2提交。並且在應用了10次或20次提交之後崩潰了。
我現在已經比較了克隆回購的git direcotries和墜毀的gg direcotries。
克隆回購了這些文件夾:
鉤
信息
日誌
對象
裁判
而這些文件:
配置
描述
HEAD
指數
填充裁判
墜毀的一個有一個名爲rebase-apply
一個額外的文件夾,還額外文件:
COMMIT_EDITMSG
FETCH_HEAD
ORIG_HEAD
一切似乎相匹配。我沒有深入文件夾。並沒有試圖比較文件內容。
.git目錄在哪裏?裏面有什麼?回購不應該被破壞,除非git在寫入回購的過程中被中斷(這種情況經常不會發生)。 – nneonneo 2014-10-03 11:52:39
我已添加額外的信息作爲編輯,請檢查出來,並告訴我,如果我需要提供更多。 – user1651105 2014-10-03 12:04:47
一般git說如果'HEAD'不存在。在rebase中間,HEAD會包含一個原始的SHA-1,也許它包含一個被破壞的SHA-1,或者根本沒有?在這種情況下,將有效的「HEAD」放在適當的位置可能會使您接受任何下一步操作。 – torek 2014-10-03 12:49:55