Git中的分支出现错误,致命错误:你当前的分支似乎已经损坏。

74

这是我的情况:

  • 我在一个分支上工作。
  • 向远程推送了新的提交。
  • 切换回主分支。

但是,在键入git checkout master命令后,我的计算机突然遭遇了蓝屏死机,并发生了意外的强制关闭。重启计算机后,我检查了当前分支的状态,结果每个文件都被标记为新文件。

现在,我卡在这一点上,运行git log命令时出现错误。

$ git log
fatal: your current branch appears to be broken

如何解决这个问题并恢复我的分支?

我正在使用Windows 7和最新版本的Git Bash。

编辑:我不想删除这个分支。


文件 .git/HEAD 的内容是什么?它指向一个有效的分支名称吗?然后该分支名称是否指向一个有效的提交哈希值? - knittl
当我的电脑在进行 git push 的过程中关闭,并在重新打开后重新启动时,我遇到了这个问题。重新启动后,执行 git log 仍然出现了相同的错误。 - Olov
13个回答

0

针对这个问题,我发现, 如果你回到并克隆你的仓库,你所要做的就是从你的新仓库中复制.git文件夹,并替换你旧仓库中的.git文件夹。

其余的就是历史:运行git add . 然后 git commit 和 push。


0
如果你的git branchgit log都是空白的
我遇到了一个问题,git loggit branch什么都没有显示。我想这可能是由于一个失败的git commit -m "导致的,我试图在不打开编辑器的情况下进行多行提交。
奇怪的是,我的解决方法是关闭终端然后重新打开它,然后git loggit branch神奇地又工作了。这一定是我bash环境中出了问题,而不是git仓库本身。

0

我刚刚做了

git checkout some_branch_name
git checkout branch_i_needed

幸运的是它开始工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接