gitでpullしようとしたら、以下のエラーが出ました。

$ git pull origin master
fatal: index file smaller than expected
fatal: No such ref: HEAD

原因はindexファイルが破損してたからのようです。心当たりがあるとすれば、サーバー内でgit pullを実行後に即座にrebootしたから(gitの処理が終わっていない間に再起動してしまった)

$ cd .git
$ ls -al
-rw-rw-r--   1 git  git  0  6月 23 23:59 index

色々gitのコマンドを試してみたけど、正常ではなかったです。

$ git status
fatal: This operation must be run in a work tree
$ git log
fatal: bad default revision 'HEAD'

解決策を探してググると、よくあるのが以下の内容ですが、

$ rm .git/index
$ git reset HEAD .

これでもダメだったのでgit initして作り直すことにしました。

$ mv .git .git_BK
$ git init
$ git remote add origin hoge
$ git pull origin master

これで解決しました。