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

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。

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

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


当前回答

VS 2017 Git本地提交数据库。每次提交时锁定错误

此问题一定是由损坏的.ignore文件引起的。

如果您的IDE是Visual Studio,请按照以下步骤解决此问题:

从项目文件夹中删除.gitignore文件 打开团队资源管理器 在团队资源管理器中返回主页 进入设置 在GIT下,单击Repository Settings 在“忽略&属性文件”下-在“忽略文件”下-单击“添加”。您应该会看到“忽略文件”已成功创建的通知 构建您的解决方案。一旦构建成功,将需要一段时间来创建一个新的.ignore文件 您现在应该能够提交和推送,而不会出现任何其他问题

注意:请记住,您的visual studio版本可能会以不同的方式设置这些选项。我使用的是Visual Studio 2019社区版。

其他回答

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

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

只需将.vs文件夹添加到.gitignore文件中。

下面是来自GitHub的.gitignore模板集合的Visual Studio模板,作为一个例子: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore


如果您在添加.gitignore文件时遇到任何问题,请遵循以下步骤:

在团队资源管理器的窗口中,选择设置。

然后访问存储库设置。

最后,单击忽略文件部分中的添加。

完成了。;) 这个默认文件已经包含了.vs文件夹。

.vs文件夹不应该被提交。 创建一个名为"的文件。Gitignore”在项目git根目录里面。 添加下面的行”。和" in "。gitignore”文件。 现在提交你的项目。

除了这些精彩的回答,

我还检查了用户名,电子邮件在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 (但是不要忘记第二步和第三步。)