Git无法锁定ref'HEAD':无法解析引用HEAD

Jak*_*ler 17 git github bitbucket sourcetree

我正在尝试将更改提交到我的存储库,但我收到以下错误:

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\Contronym\AppData\Local\Temp\bkdweixb.mnu
fatal: cannot lock ref 'HEAD': unable to resolve reference HEAD: Invalid argument

Completed with errors, see above.
Run Code Online (Sandbox Code Playgroud)

我正在使用bitbucket和SourceTree.

这个提交失败的原因是什么?在过去的一周里,我能够在最后3次提交中做得很好.然后,突然之间,我收到了这个错误.

编辑

我跑了git gc,这些是结果:

$ git gc
error: bad ref for HEAD
error: bad ref for HEAD
error: inflate: data stream error (unknown compression method)
fatal: loose object 53b65bd9b4fec7f6a7b0b3313c68199a18804327 (stored in .git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327) is corrupt
error: failed to run repack
Run Code Online (Sandbox Code Playgroud)

我检查了目录.git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327但不存在.那里有另外两个文件,但b65bd9b4fec7f6a7b0b3313c68199a18804327不存在.

Vas*_*foo 14

我遇到了同样的问题,我找到的唯一解决办法就是这样导航到头部:

git的/裁判/头/ branch_name

我删除了头文件.然后我去了控制台,我使用了命令:

git reset
Run Code Online (Sandbox Code Playgroud)

然后所有文件都是非分段的,所以添加它们并在之后提交它们.

  • 只删除`.git/refs/heads/branch_name` 解决了我的问题,非常感谢 (13认同)

Raf*_*ues 10

我遇到了同样的问题,这对我有用:

步骤 1) - 到.git\logs\refs\heads并打开名为YOUR_BRANCH的文档,现在复制 您的用户名和电子邮件前面的ID- numbers-

步骤 2) - 到.git\refs\heads并打开名为YOUR_BRANCH的文档, 删除该行并粘贴ID

希望它对你有用


SHA*_*AIN 7

导航到目录

.git/refs/heads/branch_name

删除首选分支名称

然后打开终端(Windows 的 git bash 或 cmd)

git reset
Run Code Online (Sandbox Code Playgroud)

然后提交更改(如有必要)

然后运行以下命令以合并远程存储库分支

git pull
Run Code Online (Sandbox Code Playgroud)

如果它与拒绝合并不相关的历史有关

然后,在终端中运行以下命令

git pull origin master --allow-unrelated-histories
Run Code Online (Sandbox Code Playgroud)

这个解决方案解决了我的问题


小智 6

为我工作,进入终端输入:(根据您的愿望进行分支 lul)

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