Como meu repositório git continua sendo corrompido?

Estou usando o ubuntu 14.10 (64 bits), versão git 2.1.0. Este é um repositório que existe há vários anos e recentemente começou a ter problemas.

Às vezes, vou mudar de ramificação, editar um arquivo e digitar status git. Ele mostrará vários arquivos como "modificados" que realmente não foram alterados.

Se eu digitar o seguinte:

$ git commit -am "fixed sms message"

Eu recebo erros como este:

error: short read No such file or directory
error: globalstatic/images/console/avatar_f.gif: failed to insert intodatabase
error: unable to index file globalstatic/images/console/avatar_f.gif
fatal: updating files failed

Se eu não fizer nada além de pressionar a tecla de seta para cima e pressionar enter novamente, receberei um erro sobre o próximo arquivo que apareceu emgit status que nunca mudou de verdade. Eu posso fazer isso até esgotar a lista de arquivos nogit status isso não mudou e será confirmado corretamente.

git fsck --full relata que encontrou problemas, mas na verdade não corrige nada. Eu só tenho que continuar tentando me comprometer até que funcione. Aqui está a saída degit fsck --full quando está me dando problemas:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (120625/120625), done.
dangling tag c7539416829fb0748bc32dda3beb386bac46ea9a
dangling blob 88a0700db2a75e6ea2b14b9a5af15ece63a80805
dangling blob f4c664b0044f3d5efff1148717dc68b940e08574
dangling blob 1bf6185091177fd5a496f5bf031f4d666fec92da
dangling commit fee4bdcc078789a3745aa1311f128a6b61a81736
dangling blob 9f14e68da29d49895b1ea303ed33cb390fc56b76
dangling blob 784a02e974b81f35952fb7c31bf2dcb1a7bfeda8
dangling blob 9e92d6cf395206152123f9a29edb95652114fd34
dangling commit 1294f626dcb76cafa560f65792517655fb8a52ae
dangling blob bceb1adde285e71109723211a1bcb5b0fa126681
dangling tag 19f4be8e7b53465b13359bc4350b5e87c5942560
dangling blob 93f96a3b5e995032a50723af796dab9ae36fb974
dangling blob a25bdfab82fef920935478ee2cefe4dc2e81bbf6
dangling blob af7187350341f3d7795d35cc1f0cee78eb9f9fdf
dangling blob e2a1db9e3d3d438c8b03cb6254ca492e505be6f8

Se eu executá-lo mais de uma vez, recebo a mesma mensagem. Nada muda.

O que está acontecendo?

questionAnswers(1)

yourAnswerToTheQuestion