1. ホーム
  2. git

[解決済み] git commit が動作しなくなった - ツリーのビルドに失敗した

2023-05-25 11:29:02

質問

変更をコミットすることができません。

$ git commit
error: invalid object 100644 13da9eeff5a9150cf2135aaed4d2e337f97b8114 for 'spec/routing/splits_routing_spec.rb'
error: Error building trees

ここまで試しました。

$ git fsck | grep 13da
missing blob 13da9eeff5a9150cf2135aaed4d2e337f97b8114

というように、また

$ git prune
error: Could not read 1394dce6fd1ad15a70b2f2623509082007dc5b6c
fatal: bad tree object 1394dce6fd1ad15a70b2f2623509082007dc5b6c

というように、また

$ git fsck | grep 13da
missing blob 13da9eeff5a9150cf2135aaed4d2e337f97b8114

を実行しましたが、何も解決しませんでした。ファイルを削除してコミットし、再び導入したほうがいいのでしょうか?git commitを復活させるためなら、少々の履歴は失くしても構わないと思っています。

どのように解決するのですか?

git リポジトリに破損したオブジェクトがある可能性があります。

もしリモートやこのリポジトリの他のクローンがあれば、そこから問題のあるファイルを取得し、ローカルリポジトリでそれを置き換えるだけでよいでしょう。

あなたが欲しいファイルは、以下の場所にあるでしょう。

/repo/.git/objects/13/da9eeff5a9150cf2135aaed4d2e337f97b8114