soucetree上でブランチを切り替えようと思ったらエラーが発生してどのブランチにも移動できなくなってしまった
エラー文
'git status' failed with code 128:'error: bad signature
fatal: index file corrupt
index fileが破損しているようだ。
$ git status
error: bad signature
fatal: index file corrupt
ターミナルでも同様のエラーを確認
解決方法
- indexファイルを削除する
-
git reset
で前の状態に戻す
$ rm .git/index
$ git reset
It took 4.00 seconds to enumerate unstaged changes after reset. You can
use '--quiet' to avoid this. Set the config setting reset.quiet to true
to make this the default.
再度git statusで確認
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
これで無事にブランチを切り替えられるようになりました
まとめ
なぜ.git/indexが破損したのかは不明だが、一旦削除し元に戻すことで解決できた。
Comments
Let's comment your feelings that are more than good