git показывает, что я удалил все файлы в своем репо и поставил их на коммит после того, как сделал git pull.Зачем? - PullRequest
3 голосов
/ 26 марта 2012

Вот что я сделал:

$ git pull
remote: Counting objects: 446, done.
remote: Compressing objects: 100% (372/372), done.
remote: Total 383 (delta 280), reused 0 (delta 0)
Receiving objects: 100% (383/383), 652.75 KiB | 381 KiB/s, done.
Resolving deltas: 100% (280/280), completed with 43 local objects.
Fast-forward
<list of files and summary of changes>

Теперь, когда я набрал git status, git показывает мне, что я удалил ВСЕ файлы в моем репо и поставил их на коммит.Он также показывает ВСЕ файлы как неотслеживаемые.

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   deleted:    ....
#   deleted:    ....
#   deleted:    ....
<a list of all files in the repo>
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
<a list of all top-level files and folders in the repo>

А потом, когда я набрал git add ., а затем git status, он показал, что никаких изменений не требуется.

ЛюбойИдея, почему это происходит?

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

Понятия не имею, почему это происходит, но так как это ускоренная перемотка вперед, вы можете просто

git reset --hard origin/master

отменить все и получить WC равным master в начале координат.

1 голос
/ 25 сентября 2014

Когда у меня возникла эта проблема (думаю, из-за того, что я использовал слишком много плагинов 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, и теперь у него был исходный индексный файл, он больше не думал, что я хочу удалить все решение!

...