#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 и вуаля, я смог добавить свои файлы.