ローカルリポジトリに変更をコミットしようとすると、次のメッセージが表示されます。
致命的:new_indexファイルを書き込めません
11 に答える
このスレッドが示すように、これは通常、ディスク容量の問題です。
$ git status
fatal: unable to write new_index file
私が見つけたこの原因の1つは、ファイルシステムの容量が不足していたことです。
次のような大きなディレクトリを見つけると、暴走したログファイルをクリーンアップするのに役立ちました。
$ du -h / | grep ^[0-9.]*G
注:次の場合にも表示されます
- msysgitとEgit(Git for Eclipse)のリソースの問題:
問題がまだ残っているので、SysinternalsSuiteからFileMonitorを実行しました。
Eclipseは常にインデックスファイルにアクセスしており、コマンドラインgitをブロックしているようです
- 古典的なアンチウイルスの問題の場合:
ええ、WindowsDefenderが再び攻撃したようです。私はいつもそのいまいましいことを無効にすることを忘れています。それがどれほど壊れているか信じられません。自宅でBlu-rayの再生を破壊し、職場でGitを壊します...
TortoiseGitを使用している場合、このエラー(または最近ではエラー:インデックスを書き込めません。 )は、 TortoiseGitアイコンオーバーレイが有効になっていることが原因である可能性が非常に高くなります。アイコンオーバーレイを無効にするには、次の場所に移動します。
TortoiseGit>設定>アイコンオーバーレイ
ステータスキャッシュを[なし]に設定します。これはTortoiseGitの将来のバージョンで修正される可能性がありますが、今のところ一般的なようです。
sshfsがマウントされたgitリポジトリをマージしているときに同じエラーが発生していました。どこにもスペースの不足はありませんでした。
私の場合、解決策はsshfsmountコマンドに-oworkaround=renameオプションを追加することでした。
同様に:sshfs -o idmap = user -o uid = [lokal uid] -o gid = [lokal gid] -o workaround = rename [host]:[mountpoint]
私は解決策を見つけました。ディスク容量を解放する必要があります。
Cygwin と git-svn を使用してこのエラーが発生しました。私にとってうまくいった解決策は、ガベージコレクションを行うことでした(当時は奇妙に思えました):
$ git gc
ここですべてのソリューションを実行しましたが、どれも機能しませんでした。ディスク容量が不足していません。Windows Defender を無効にし、アイコン オーバーレイなどを無効にしました。インポートするファイルが大量にあり、これが問題を引き起こしている可能性があります (boost
特にライブラリがありました)。
「Git Bash」を開き、数git add
とaを発行しただけでgit commit
、すべてうまくいきました。これは TortoiseGit と関係がありますが、私にはわかりません。多数のファイルまたは大きなディレクトリの深さで窒息しているようです。
この問題が発生していましたが、msysgit でコミットできました。tortoisegit を更新しましたが、msysgit のバージョンが tortoise git と同期していないことにも気付きました。最新バージョンで修正されたのか、それとも tortoise と msysgit のバージョンが異なるためなのかはわかりません。とにかく、もう1つ確認することがあります。両方をTortoiseGit 1.7.10.0 gitバージョン1.7.10.msysgit.1に更新した後、すべてが機能し始めました
Unlocker onを使用し.git\index.lock
て、他のプロセスによって開いたままになっているハンドルのロックを解除しました。私の場合、TGitCache.exe でした。