Почему Git удаляет файлы, которые вышли из под его контроля?
в .gitignore еще добавить надо.
git накатывает коммит с удалением файла. 
На твоей машине не удаляет, т.к. `--cached`
Файл удаляется, потому что история содержит коммит с его удалением.
Чтобы не потерять файлы на других серверах, обновляем их немного хитрее.
git fetch # загрузить обновления репозитория
git switch master # проверяем, что мы в нужной ветке
git reset origin/master # переместить HEAD на актуальное состояние
# сам рабочий каталог при этом не изменится, 
# так как по-умолчанию используется режим reset --mixed
git reset --hard # теперь можно актуализировать рабочий каталог
# файлы указанные в .gitignore не изменятся и не удалятся