Когда у меня возникла эта проблема (думаю, из-за того, что я использовал слишком много плагинов Git: Visual Studio 2013 и Git Extensions и Powershell - Powershell для победы!) - это было потому, что мой индексный файл был заблокирован в .git папка, теперь она называлась «index.lock».
Visual Studio 2013 сообщил мне об этом, поэтому я удалил index.lock в файле .git в корне моего решения. Однако это означало, что git сгенерировал индексный файл и показал, что я удалил все мои файлы! Любой из плагинов git показывал то же самое, что указывал им индекс, так оно и было.
Я не хотел делать полный сброс git, потому что у меня досадно было много незафиксированных изменений после обновления через nuget.
Поэтому я вместо этого восстановил удаленный файл index.lock, удалил вновь созданный индексный файл и переименовал index.lock в index.
Затем закрыл и снова открыл решение в Visual Studio, и теперь у него был исходный индексный файл, он больше не думал, что я хочу удалить все решение!