每次提交时VS 2017 Git Local Commit DB.lock错误

ale*_*eid 170 git visual-studio

我们在每次本地提交时收到此错误:

Git的失败,一个致命的error.error:开放( "VS/XXXXXX.Dev.Library/V15 /服务器/ sqlite3的/ db.lock."):权限deniedfatal:无法处理路径.VS/XXXXXX.Dev.Library/V15 /Server/sqlite3/db.lock

这是VS 2017的全新安装,使用本地git存储库,然后才能同步到VSTS GIT.

我们可以手动删除锁定文件,然后同步正常,但它会严重降低开发过程(每次都必须关闭,删除,打开,提交).

有谁知道更好的长期解决这个问题?

Mat*_*rda 349

只需将.vs文件夹添加到.gitignore文件即可.

以下是来自GitHub的.gitignore模板集合的Visual Studio模板,例如:https:
//github.com/github/gitignore/blob/master/VisualStudio.gitignore


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

  1. 在Team Explorer的窗口中,转到"设置".

团队资源管理器 - 设置

  1. 然后访问存储库设置.

存储库设置

  1. 最后,在"忽略文件"部分中单击"添加".

在此输入图像描述

完成.;)
此默认文件已包含.vs文件夹.

在此输入图像描述

  • 这对我也有用.对误导性错误消息的完美答案. (4认同)
  • 完美谢谢你 (3认同)
  • 完美,伟大,有效 (3认同)
  • 是的,那是最好的软件,我只在其中输入“ 2017”:#Visual Studio 2015/2017 cache / options目录.vs / (2认同)

Sid*_*ted 58

  1. 不应提交.vs文件夹.
  2. 在项目git根目录中创建一个名为".gitignore"的文件.
  3. 在".gitignore"文件中添加以下行".vs /".
  4. 现在提交你的项目.

在此输入图像描述


Jps*_*psy 30

步骤1:
将.vs /添加到.gitignore文件中(如其他答案中所述).

第2步:
重要的是要理解,如果已经添加了当前分支索引,则步骤1将不会删除.vs /中的文件.通过发出以下内容清除您的活动分支

git rm --cached -r .vs/*
Run Code Online (Sandbox Code Playgroud)

第3步:
最好为项目的其他分支重复步骤1和2.
否则,当切换到未清理的分支时,您将很容易再次遇到相同的问题.

专业提示:
使用VisualStudio的官方.gitingore模板,其中不仅仅包含.vs路径:
https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
(但仍然不要忘记步骤2和3.)


小智 7

VS 2017 Git Local Commit DB.lock 每次提交时出错

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

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

  1. 从项目文件夹中删除 .gitignore 文件
  2. 转到团队资源管理器
  3. 在团队资源管理器中转到主页
  4. 前往设置
  5. 在 GIT 下,单击存储库设置
  6. 在 - 忽略和属性文件下 - 在忽略文件下 - 单击添加。您应该会看到一条通知,提示已成功创建忽略文件
  7. 构建您的解决方案。一旦构建成功,将需要一些时间并创建一个新的 .ignore 文件
  8. 您现在应该能够提交和推送而不会出现任何问题

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