我在我的存储库中有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