我们在每次本地提交时都会收到此错误:
Git因致命错误而失败。错误: open(“。vs / XXXXXX.Dev.Library / v15 / Server / sqlite3 / db.lock”):权限 deniedfatal:无法处理路径 .VS / XXXXXX.Dev.Library / V15 /服务器/ sqlite3的/ db.lock
这是VS 2017的全新安装,使用本地git存储库,然后才能同步到VSTS GIT。
我们可以手动删除锁定文件,然后同步,但它会严重降低开发过程(必须关闭,删除 ,每次打开,提交。
有没有人知道这个问题有更好的长期解决方案?
答案 0 :(得分:255)
只需将.vs文件夹添加到.gitignore文件即可。
以下是来自GitHub的.gitignore模板集合的Visual Studio模板,作为示例:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
如果您在添加.gitignore文件时遇到任何问题,请按以下步骤操作:
答案 1 :(得分:44)
答案 2 :(得分:18)
第1步:
将.vs /添加到.gitignore文件中(如其他答案中所述)。
第2步:
重要的是要理解,如果已经添加了当前分支索引,则步骤1将不会删除.vs /中的文件。通过发出以下命令清除您的活动分支:
git rm --cached -r .vs/*
第3步:
最好立即为项目的所有其他活动分支重复步骤1和2
否则,当切换到未清理的分支时,您将很容易再次遇到相同的问题。
专业提示:
您可能希望使用VisualStudio的官方.gitingore模板,而不仅仅是步骤1,而不仅仅是.vs路径:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(但仍然不要忘记第2步和第3步。)
答案 3 :(得分:2)
我遇到了同样的问题,但我已经通过创建.gitignore文件解决了这个问题。
我还发现了一个解决方法,它只是从.vs文件夹中删除db.lock文件,但你必须每次都这样做,并且长时间执行此操作会使这个操作变得烦人。
解决此问题的最佳方法是按照之前的建议创建.gitignore文件,但我认为这也是很好的提及此解决方法,仅用于一般知识目的!
此致 托尼格林顿
答案 4 :(得分:2)
VS 2017 Git Local Commit DB.lock error on every commit
此问题肯定是由损坏的.ignore文件引起的。
如果您的IDE是Visual Studio,请按照以下步骤解决此问题:
注意:请记住,您的Visual Studio版本可能会以不同的方式放置这些选项。我正在使用Visual Studio 2019社区版。
答案 5 :(得分:1)
我没有直接通过Visual Studio使用Git,而是使用Git Desktop客户端。
然而,我确实收到了类似的错误,但在将更改提交给master之前关闭Visual Studio解决了这个问题。答案 6 :(得分:0)
除了这些很棒的答案,
我还检查了 VS2017 中的用户名、电子邮件 > 团队资源管理器 > 设置 >
基本验证与 Bitbucket 凭据(单击“克隆”链接以查看您给定的用户名/存储库),因为可能存在不匹配。
也就是说,我认为更重要的检查(尤其是在 2x 不同机器上处理同一个 repo 时)是远程 repo 的 URL。
答案 7 :(得分:0)
dotnet
现在包括用于gitignore
的命令。
从项目文件夹中打开cmd.exe
,然后输入:
dotnet new gitignore
答案 8 :(得分:0)
有了这个,我的.gitignore就在我的项目文件夹中,但是主要的git文件夹在解决方案级别。将.gitignore移到解决方案/ git级别的文件夹中正常工作。仍然不确定如何到达那里,但是...
答案 9 :(得分:0)
答案 10 :(得分:0)
我自动生成的.gitignore
文件包含/.vs
而不是.vs/
。解决此错字可解决问题!
答案 11 :(得分:0)
对我来说,以下步骤有所帮助:
答案 12 :(得分:0)
如果您使用的是类似Visual Studio这样的IDE,并且在发送命令时它是打开的,请关闭IDE,然后重试
git add .
和其他命令,它将锻炼
答案 13 :(得分:-1)
我已经完成了上述解决方案,最终这项工作解决了我的问题:
关闭视觉工作室
在项目文件夹中运行git bash
写:
git add。
git commit -m“ [您的评论]”
git push
答案 14 :(得分:-1)
尝试将文件手动复制到目录中(C:\ Users \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol--1147805695 \ obj \ Debug \ Package \ PackageTmp.vs \ digisol \ v15 \ Server \ sqlite3)
答案 15 :(得分:-1)
尝试关闭FTP(如果打开) 然后重试。
答案 16 :(得分:-2)
要解决此问题很简单。首先关闭,Visual Studio并打开Windows资源管理器,转到位置文件夹.vs并打开文件夹属性并选中隐藏选项