VS 2017 Git Ошибка локальной компиляции DB.lock при каждом фиксации
Мы получаем эту ошибку при каждом локальном коммите:
Git завершился ошибкой с фатальной ошибкой. Error: open (". Vs/XXXXXX.Dev.Library/v15/Server/sqlite3/db.lock"): Permission deniedfatal: невозможно обработать путь .vs/XXXXXX.Dev.Library/v15/Server/sqlite3/db.lock
Это новая установка VS 2017 с использованием локального репозитория git, прежде чем он сможет синхронизироваться с VSTS GIT.
Мы можем вручную удалить файл блокировки и затем выполнить синхронизацию, но это серьезно замедляет процесс разработки (необходимость каждый раз закрывать, удалять, открывать, фиксировать).
Кто-нибудь знает лучшее долгосрочное решение этой проблемы?
Ответы
Ответ 1
Просто добавьте папку .vs в файл .gitignore.
Вот шаблон для Visual Studio из коллекции GitHub шаблонов .gitignore, например:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
Если у вас возникли проблемы с добавлением файла .gitignore, выполните следующие действия:
- В окне Team Explorer откройте "Настройки".
![Team Explorer - Настройки]()
- Затем выполните доступ к настройкам репозитория.
![Настройки репозитория]()
- Наконец, нажмите "Добавить" в разделе "Игнорировать файл".
![введите описание изображения здесь]()
Готово.;)
Этот файл по умолчанию уже содержит папку .vs.
![введите описание изображения здесь]()
Ответ 2
-
Папка
- .vs не должна быть зафиксирована.
- создайте файл с именем ".gitignore" внутри корневого каталога проектов git.
- Добавьте в файл .gitignore следующую строку ".vs/".
- Теперь передайте свой проект.
![введите описание изображения здесь]()
Ответ 3
Шаг 1:
Добавьте .vs/к вашему файлу .gitignore (как сказано в других ответах).
Шаг 2:
Важно понимать, что шаг 1 НЕ удалит файлы в .vs/из вашего текущего индекса ветки, если они уже были добавлены в него. Так что очистите свою активную ветку, выполнив:
git rm --cached -r .vs/*
Шаг 3:
Лучше всего немедленно повторить шаги 1 и 2 для всех других активных веток вашего проекта.
В противном случае вы легко столкнетесь с теми же проблемами при переходе на неочищенную ветвь.
Профессиональный совет:
Вместо шага 1 вы можете использовать этот официальный шаблон .gitingore для VisualStudio, который охватывает гораздо больше, чем просто путь .vs:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(Но все же не забывайте шаги 2 и 3.)
Ответ 4
У меня была та же проблема, но я решил ее, создав файл .gitignore.
Я также нашел обходной путь, который просто состоит в удалении файла db.lock из папки .vs, но вы должны делать это каждый раз, и длительное выполнение этого делает это раздражающей операцией.
Лучший способ решить эту проблему - создать файл .gitignore, как предлагалось ранее, но я думаю, что было бы хорошо упомянуть и этот обходной путь, просто для общих целей!
С уважением, Тони Гринтон
Ответ 5
Я не использую Git напрямую через Visual Studio, но использую клиент Git Desktop.
Однако я получил похожую ошибку, но решил ее, закрыв Visual Studio перед фиксацией изменений в master.
Ответ 6
если вы используете IDE, например Visual Studio, и он открыт, когда вы отправляете команды, закройте IDE и попробуйте снова
git add .
и другие команды, это будет тренировка
Ответ 7
Для меня помогли следующие шаги:
- Закрыть Visual Studio 2019
- Удалить папку .vs в проекте
- Повторно откройте проект, папка .vs создается автоматически
- Готово
Ответ 8
Попробуйте закрыть FTP, если он открыт, а затем повторите попытку.
Ответ 9
Попробуйте скопировать файл в свой каталог вручную (C:\Users\Admin\AppData\Local\Temp\WebSitePublish\digisol - 1147805695\obj\Debug\Package\PackageTmp.vs\digisol\v15\Server\sqlite3)
Ответ 10
Решить эту проблему просто. Сначала закройте Visual Studio и откройте проводник Windows, перейдите в папку location.vs, откройте свойства папки и отметьте скрытый параметр.