致命:无法将HEAD解析为有效的参考号

idu*_*esh 9 git atlassian-sourcetree sourcetree

我变得致命:未能将HEAD解析为有效的参考.每当我尝试提交.

我试过了

echo ref: refs/heads/master >.git/HEAD
Run Code Online (Sandbox Code Playgroud)

但它不起作用

也试过了

git commit
Run Code Online (Sandbox Code Playgroud)

它不能从以下来源工作

Git'致命:没有这样的参考:HEAD'git tag:致命:未能将'HEAD'解析为有效参考

请帮助..我的所有提交历史也都消失了

Pra*_*tri 19

我也遇到过同样的问题......我已经通过以下方式解决了

  1. 在其他文件夹中克隆您的同一个项目
  2. 复制克隆项目的.git文件夹
  3. 最后用您复制的文件夹替换项目的原始.git文件夹.

由Sudip Bhandari编辑

为什么这样做?

损坏的git存储库通常是由于突然断电或其他异常导致文件系统损坏的结果.由于git将所有信息存储在.git文件夹中并且那些已损坏的git不再识别存储库.

注意事项

无论你以前的.git文件夹中存储什么都将消失.必须再次设置配置事项,例如遥控器的参考名称(如果您有多个)等.

  • 这实际上也对我有用,我有一个仓库,它无法再找到任何分支(甚至不是master),但是我所做的其他任何事情(git checkout master,git checkout-等)都没有起作用。重新克隆然后复制git文件夹这样简单的解决方案将其修复。这甚至让我保留了更改,因此无需重做。 (2认同)

Yas*_*era 12

由于磁盘故障,我遇到了这个问题。我知道这是一个老问题,但也许它可以帮助某人。就我而言,我有一个本地分支机构,在我的存储库损坏之前我正在该分支机构工作,因此重新克隆存储库不适合我。这里或其他帖子中的任何答案都对我有帮助,除了我在这里找到的这一小段代码。我刚刚在我的存储库的根目录中运行了这个命令:

echo ref: refs/heads/master >.git/HEAD
Run Code Online (Sandbox Code Playgroud)

之后,我能够执行 、git branch和git commit所有其他 git 命令。

我希望这可以帮助别人!


hrv*_*j3e 6

我的问题是

git init
git add .
Run Code Online (Sandbox Code Playgroud)

尝试过

git reset
  fatal: Failed to resolve 'HEAD' as a valid ref.
git reset --hard
  fatal: Failed to resolve 'HEAD' as a valid ref.
Run Code Online (Sandbox Code Playgroud)

解决了

git rm -r --cached .
Run Code Online (Sandbox Code Playgroud)

环境

git 版本 1.7.5.4

乌班图11.10