PC崩溃导致GIT Rebase操作中断.现在存储库不可用

 mobiledu2502911637 发布于 2022-12-18 15:19

我的存储库中有2个分支.其中任何一个都没有未提交的变更.

我拉了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它时说它不是一个存储库.

好吧,我不会那么关心失败的rebase但是我注意到我的所有源文件都变成了二进制文件,这意味着,我的提交的提交都是LOST,除非你们可以帮我恢复它.

我想重新分支并推动它....这令人沮丧.

编辑1:

.git目录在应用程序库目录(/some/path/to_repo/repo_name/.git)中.当重新应用branch2提交时,PC崩溃了.这意味着branch1提交已经应用于branch2,唯一剩下的就是完成应用branch2提交.并且在应用了10或20次提交后崩溃了.

我现在比较了一个克隆回购的.git direcotries和一个崩溃的回购.

克隆的repo有这些文件夹:
hooks
info
logs
objects
refs
和这些文件:
config
description
HEAD
index
packed-refs

崩溃的文件夹有一个额外的文件夹rebase-apply,也有额外的文件:
COMMIT_EDITMSG
FETCH_HEAD
ORIG_HEAD

其他一切似乎都匹配.我没有深入到文件夹.并没有尝试比较文件内容.

1 个回答
  • 检查.git目录文件后,我注意到ORIG_HEAD和HEAD文件只包含NULLS.似乎我终于想出了如何解决这个问题.

      删除index文件.

      删除ORIG_HEAD文件.

      删除HEAD文件.

      制作副本FETCH_HEAD(它指向Branch1)

      将副本重命名为 HEAD

      开业 GIT Bash

      导航到存储库目录.

      然后git status检查它是否看到该目录是存储库.(它做了)

      git reset命令.

      git rebase --abort命令.

    此时,所有二进制源文件都是文本文件.还index重新创建了文件.

    当我通过GitExtensions打开存储库时,在rebase之前,一切似乎都恢复正常.我再次尝试了rebase,但是在其中一个提交中停止了错误
    error: unable to unpack d447b241eba771f175cb2150eec77ec605a86486 header error: inflateEnd: stream consistency error (no message) fatal: d447b241eba771f175cb2150eec77ec605a86486 is not a valid object

      我将存储库(从本地GIT服务器)克隆到另一个文件夹.

      将已恢复存储库中的源文件复制到新克隆的存储库中.

      检查它显示我所做的所有更改都是正确的,没有任何提交丢失.

      承诺所有更改为1提交(哦).

      推动.

    而已.现在又一次工作了.似乎我没有对它造成任何损害.

    2022-12-18 15:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有