Подтвердить что ты не робот

Изменения в Visual Studio 2017 15.3.0 git включают "storage.ide", хотя .vs/in .gitignore

Я обновил VS 2017 до 15.3.0 несколько дней назад. С тех пор файл "storage.ide" остался в моих модифицированных файлах, даже если я использовал предлагаемый .gitignore для VS, который включает в себя .vs/folder. Это включает в себя следующее.

# Visual Studio 2015 cache/options directory
.vs/

Затем я добавил следующее, чтобы более конкретно проигнорировать это из списка файлов, которые нужно отслеживать

.vs/SIASAWeb/v15/sqlite3/storage.ide
.vs/**/storage.ide

Изменения в Team Explorer показывают следующее:

<project folder>
  .vs/<project>/v15/sqlite3
    storage.ide

Я попытался выполнить git reset этот файл, но затем возвращается к следующему фиксации, а также существует во всех ветвях, которые я открываю, в результате чего это предотвращает легкий переход от одной ветки к другой, даже если никаких изменений не было.

В обозревателе решений файлы "applicationhost.config" и ".suo" помечены как "проигнорированные", но "storage.ide" помечено как "незавершенное редактирование".

Я попытался совершить транзакцию, синхронизироваться с сервером GitHub, закрыть и повторно открыть VS и даже перезагрузить компьютер.

Мой вопрос в том, почему этот файл поддерживается как измененный файл, хотя его следует игнорировать для git.

4b9b3361

Ответ 1

Вероятно, это означает, что он некорректно добавлен в репозиторий git в какой-то момент, а затем проигнорирован. git будет продолжать отслеживать изменения в gitignored файлах, если они присутствуют в индексе ( "checked in" ).

Если вы вообще не хотите, чтобы файл был установлен, вы можете удалить его из индекса, запустив

git rm path/to-file --cached

Это сохранит содержимое на диске, если вы не хотите, чтобы файл существовал вообще, вы можете запускать

git rm path/to-file --force

Обратите внимание, что это может быть нежелательным, если (например) файлы базового проекта предназначены для проверки в качестве отправной точки для работы над проектом. И вам просто нужно быть осторожным, чтобы не совершать этот конкретный файл.

Ответ 2

Чтобы исправить это, если вы попали на вкладку "Проводник" и нажимаете кнопку "Управление подключениями" (зеленый вверху), вы увидите список локальных репозиториев Git.

Щелкните правой кнопкой мыши на репозитории, на котором вы хотите остановить отслеживание файла storage.ide, и выберите "Открыть командную строку".

Затем вы можете ввести следующее:

git rm --cached -r .vs

Это удаляет папку .vs, а ее содержимое и подкаталоги отслеживаются в git.

Ответ 3

кажется, что я решил проблему для меня.

# Visual Studio 2015/2017 cache/options directory
*.vs/

он игнорирует все в нем.

Ответ 4

Я использую SourceTree (https://www.sourcetreeapp.com/) для управления моими транзакциями git. С его помощью вы можете щелкнуть правой кнопкой мыши по своим изменениям и выбрать опцию Stop Tracking. Я использовал его для тех же файлов, которые вы пытаетесь игнорировать, поскольку я также просто обновлен до 15.3.0, и это был последний раз, когда я видел эти ожидающие изменения