我们在每次本地提交时都会得到这个错误:

Git失败,出现致命error.error: open(“.vs / XXXXXX.Dev.Library / v15 /服务器/ sqlite3 / db.lock”):许可 deniedfatal:无法处理路径 .vs / XXXXXX.Dev.Library v15 /服务器/ sqlite3 / db.lock

这是一个全新的VS 2017安装,使用本地git存储库,然后才能同步到Azure DevOps git。

我们可以手动删除锁文件,然后进行同步,但这会严重减慢开发过程(每次都必须关闭、删除、打开和提交)。

有人知道这个问题的更好的长期解决方案吗?


当前回答

我做了以上的解决方案,最终这个作品解决了我的问题:

关闭视觉工作室 在项目文件夹中运行git bash 写: Git添加。 Git commit -m "[你的评论]" git推

其他回答

除了这些精彩的回答,

我还检查了用户名,电子邮件在VS2017 >团队浏览器>设置>

全局设置 存储库设置

基本上验证与Bitbucket凭据(点击“克隆”链接,查看您给定的用户名/回购),因为可能不匹配。

也就是说,我认为更重要的检查(特别是如果从2台不同的机器上进行相同的回购)是远程回购的URL。

步骤1: 添加.vs/到你的.gitignore文件(如在其他答案中所说)。

步骤2: 重要的是要理解,第1步不会从当前分支索引中删除.vs/内的文件,如果它们已经被添加到分支索引中。因此,通过发出以下命令来清除您的活动分支:

git rm --cached -r .vs/*

步骤3: 最好立即对项目的所有其他活动分支重复步骤1和2。 否则,当切换到未清理的分支时,您将很容易再次面临相同的问题。

专家提示: 除了第一步,你可能想要使用这个官方的。gitingore模板,它涵盖的不仅仅是。vs路径: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore (但是不要忘记第二步和第三步。)

有这个和我的.gitignore在我的项目文件夹中,但主要的git文件夹在解决方案级别。将.gitignore移到解决方案/git级别的文件夹中是有效的。仍然不确定它是如何到达那里的,但是……

对我来说,我错误地删除了这两个文件,在撤消这两个文件并添加到我的更改后,我能够将我的更改提交到git中。

我自动生成的.gitignore文件包含/。Vs而不是。Vs /。修复这个错别字就解决了问题!