web-dev-qa-db-ja.com

Gitはref 'HEAD'をロックできません:参照を解決できませんHEAD

変更をリポジトリにコミットしようとしていますが、次のエラーが表示されます。

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.

私はbitbucketとSourceTreeを使用しています。

このコミットが失敗する理由は何ですか?過去1週間の最後の3回のコミットで問題なくコミットできました。その後、突然、このエラーが表示されます。

[〜#〜] edit [〜#〜]

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

ディレクトリを確認しました.git/objects/53/b65bd9b4fec7f6a7b0b3313c68199a18804327しかし、それは存在しません。他にも2つのファイルがありますが、b65bd9b4fec7f6a7b0b3313c68199a18804327は存在しません。

16
Jake Miller

私は同じ問題を抱えていて、私が見つけた唯一の解決策は、そのように頭にナビゲートすることでした:

.git/refs/heads/branch_name

そして、headファイルを削除しました。それからコンソールに行き、コマンドを使用しました:

git reset

その後、すべてのファイルのステージングが解除されたため、それらを追加してコミットします。

12
Vasilisfoo

私は同じ問題を抱えていた、これは私のために働いた:

ステップ1)-。git\logs\refs\headsにアクセスし、YOUR_BRANCHという名前のドキュメントを開き、今すぐ[〜#〜] id [〜#〜]-ユーザー名とメールの前の数字-

ステップ2)-。git\refs\headsに移動し、YOUR_BRANCHという名前のドキュメントを開き、行を削除して[〜#〜] id [〜#〜] in。

それがあなたのために働くことを願っています

2
Rafael Marques

履歴を失うを気にしない場合は、.gitファイルを削除してから

git init

これによりリポジトリが再初期化され、そこから続行できます

1
Chiaro

私のために働いて、ターミナルに入ってください:(あなたの欲望に従ってブランチ)

echo ref: refs/heads/master >.git/HEAD
1
ASCII ALIEN

作業コピー内でrootユーザーを使用してgitコマンドを呼び出した後、同じ問題が発生しました。そのため、.git /の下のさまざまなファイルの所有者と所有者グループは「root」に変更されました。

ユーザーアカウントに戻ると、権限が不足しているため、gitはこのファイルを処理できなくなりました。

権限をリセットした後、再び機能しました

Sudo chown -R [MY_USER]:[MY_GROUP] .git
0
dev-null

これに遭遇すると、プロジェクトを新しいファイルディレクトリにgit cloneし、.git\refs\headsにあるheadsフォルダーをプルして、問題のあるディレクトリの元のheadsファイルを置き換えます。次に、作成した新しいクローンを削除します(プッシュしようとしている更新が明らかにないため)。

0
David La Grange