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


200

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

Git因致命错误而失败。错误:open(“。vs / XXXXXX.Dev.Library / v15 / Server / sqlite3 / db.lock”):权限被拒绝致命:无法处理路径.vs / XXXXXX.Dev.Library / v15 /服务器/sqlite3/db.lock

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

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

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


如果还有其他人遇到此问题,并在.gitignore中添加“ .vs /”似乎不起作用,请在PowerShell中制作文件,然后使用Notepad ++进行编辑,使文件的字符编码类型错误。我需要在VS代码以打开它,并对其进行编码,作为普通UTF8,然后它的工作就好了
布赖恩·雷斯曼

Answers:


418

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

这是GitHub的.gitignore模板集合中的Visual Studio模板,例如:https :
//github.com/github/gitignore/blob/master/VisualStudio.gitignore


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

  1. 在团队资源管理器的窗口中,转到“设置”。

团队资源管理器-设置

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

储存库设定

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

在此处输入图片说明

做完了 ;)
此默认文件已包含.vs文件夹。

在此处输入图片说明


3
是的,那是最好的软件,我只在其中输入“ 2017”:#Visual Studio 2015/2017 cache / options目录.vs /
harveyt

1
麻烦的是,git clean -fxd弄弯了它的短裤。.我需要退出VS才能清洗。这只是从VS2017开始才开始的,在2015
Peter McEvoy

4
这也对我有用。误导性错误消息的完美答案。
Stanley Okpala Nwosa,

@Matheus,在执行此提交之后,上演了工作,但是“全部提交”和“推送”仍然显示相同的错误。如何使它提交并推送?
Stanley Okpala Nwosa,

为我工作,尽管大多数时候在VS中执行git似乎有些魔术。我尝试将兔子从帽子中拉出来,但换成黑猩猩。
罗伯托

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

在此处输入图片说明


您好,尽管此文件类型位于gitignore文件中,但仍然出现错误。请帮助。
user3820266

33

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

步骤2:
重要的是要了解,步骤1将不会从当前分支索引中删除.vs /中的文件(如果已将其添加到文件中)。因此,通过发出以下命令清除活动分支:

git rm --cached -r .vs/*

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

专业提示:
您可能要使用Visual Studio的官方.gitingore模板,而不是第1步,该模板涵盖的内容不仅仅包括.vs路径:
https : //github.com/github/gitignore/blob/master/VisualStudio.gitignore
(但仍然不要忘记第2步和第3步。)


.vs已被排除在我的.gitignore(.vs /)文件中,问题仍然存在。还有什么问题呢?
Stanley Okpala Nwosa,

1
能够通过运行git rm --cached -r .vs / *来解决。谢谢
Stanley Okpala Nwosa

5

每次提交时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社区版。


为我工作。谢谢!
Chase Ernst

2

我遇到了同样的问题,但是通过创建.gitignore文件已经解决了。

我还找到了一种解决方法,该解决方法仅包括从.vs文件夹中删除db.lock文件,但是您必须每次都这样做,并且长时间执行此操作会使此操作变得烦人。

解决此问题的最佳方法是按照之前的建议创建.gitignore文件,但是我认为也要提及此变通办法,这只是出于一般知识的目的!

问候,托尼·格林顿


0

我不是直接通过Visual Studio使用Git,而是使用Git Desktop客户端。

但是,我确实遇到了类似的错误,但是在将更改提交给母版之前关闭了Visual Studio,从而解决了该错误。


0

如果您使用的是Visual Studio之类的IDE,并且在发送命令时它是打开的,请关闭IDE,然后重试

git add .

和其他命令,它将锻炼


0

对我来说,以下步骤有所帮助:

  • 关闭Visual Studio 2019
  • 在项目中删除.vs文件夹
  • 重新打开项目,.vs文件夹自动创建
  • 完成了

0

我自动生成的.gitignore文件包含,/.vs而不是.vs/。解决此错字问题已解决!


0

在此处输入图片说明

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


0

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


-1

尝试将文件手动复制到您的目录中(C:\ Users \ Admin \ AppData \ Local \ Temp \ WebSitePublish \ digisol--1147805695 \ obj \ Debug \ Package \ PackageTmp.vs \ digisol \ v15 \ Server \ sqlite3)


-1

我已经完成了上述解决方案,最后这项工作解决了我的问题:

  • 关闭视觉工作室

  • 在项目文件夹中运行git bash

  • 写:

    git添加

    git commit -m“ [您的评论]”

    git推


-2

解决此问题很简单。首先关闭Visual Studio,然后打开Windows资源管理器,转到位置文件夹.vs并打开文件夹属性,然后选中隐藏的选项

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.