gitignore не работает с Visual Studio

#git #gitignore #gitea

#git #gitignore #gitea

Вопрос:

Я пытаюсь зафиксировать и перенести изменения моего проекта из проекта C # с использованием Visual Studio 2017 в мой частный репозиторий gitea. К сожалению, выходные данные сборки, такие как bin, debug, но также папка VS cache .vs всегда добавляется в список изменений.

Когда я набираю ‘git add .’, я получаю следующую ошибку:

 error: open(".vs/xyz/v15/Server/sqlite3/db.lock"): Permission denied
error: unable to index file .vs/xyz/v15/Server/sqlite3/db.lock
fatal: adding files failed
  

для меня проблема ясна. Git пытается добавить подпапку .vs в список изменений, но не может этого сделать, поскольку Visual Studio заблокировала базу данных.

Я загрузил файл .gitignore отсюда:

https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

скопировал его в корень папки проекта и переименовал в .gitignore. Я проверил разрешение этого файла и папки, и у пользователя есть полные права на запись (кстати, я использую Windows 10).

В командной строке я сделал это:

 git rm -r --cached .
  

Который удалил все мои исходные файлы из репозитория. Я зафиксировал это изменение с

 git commit -am "removed source files"
  

и прочитал и зафиксировал мой файл git igore с

 git add ..gitignore
git commit -am "readded gitignore"
  

когда я использую команду

 git check-ignore -v .vs
  

я не получаю выходных данных, которые каким-то образом говорят мне, что файл gitignore не используется git.

Я использую git для Windows версии 2.17.1.windows.2. Дополнительно у меня установлен TortoiseGit, который я использую для других проектов (я не уверен, что это мешает работе git, поэтому упоминаю об этом).

Ответ №1:

хорошо, я решил проблему! Этот был сложным. Согласно моему Notepad , кодировка файла .gitignore была установлена на «UCS2 BE BOM». Я преобразовал кодировку в UTF-8 и вуаля, я смог добавить свои файлы.