Git 问题 Visual Studio 2015

Git issue with Visual Studio 2015

我在使用 TortoiseGit 版本 1.8.16.0(git 版本 2.6.2.windows.1)创建的 git 存储库中有一个 Visual Studio 解决方案

我刚刚将 Visual Studio 从 2015 更新到 2015 Update 1,它停止跟踪我文件的更改。也不允许我做任何事情。

这是某种已知问题吗?有什么解决办法吗?


更新

(讽刺标题...) VS 将未保存的文件跟踪为 "changed" 并且保存的文件似乎是 "unchanged"

切换分支行为正确,如果有未提交的(实际)更改会导致错误


更新 2

输出中的这个 window 可能与错误有关:

打开存储库:

无法打开'C:/[project path].VC.opendb': 进程无法访问该文件,因为它正被另一个进程使用。

无法打开'C:/[project path].VC.opendb': 进程无法访问该文件,因为它正被另一个进程使用。

由于 Visual Studio 2015 update 1 release notes and its "Known Issues and Fixed Bugs" page 没有提及与 Git 相关的任何内容,请尝试:

  • 从命令行重新克隆您的存储库 (git clone)
  • 导入 Visual Studio 中的解决方案并检查是否检测到 git 存储库

或者:

  • 检查您是否可以添加新文件
  • 关闭Visual Studio
  • 用你自己的方式覆盖新的 repo(删除并用你自己的方式替换 .git,然后将你的工作树复制到 Visual Studio 使用的那个)

我遇到了与您完全相同的问题,并花了数小时试图使其正常工作,包括 re-cloning。

我通过将 *.VC.opendb 和 *.VC.db 文件添加到我项目的 .gitignore 文件中解决了这个问题。

我一回到 Visual Studio,所有待处理的更改就显示出来了。据我所知,一切又恢复正常了。

要使 VS 2015 不显示未修改的文件,您需要通过控制台在 Git 配置中设置 core.autocrlf=false。它与 git 核心的较新版本在文件中包含一个带有 crlf 的新行(VS 不显示新行)。

要通过所有存储库设置它,请写

git config core.autocrlf false

它将被停用。

我对 db.lock 文件有同样的问题...

带图解如下:

Git 将在下次提交时忽略这些文件。

对我有用的更简单的解决方案(也适用于 VS 2017): 打开 .git\config 文件并更改

bare: true

bare:false

我遇到了同样的问题,我尝试了搜索结果中的几个选项,但它们都不起作用,我不得不重新启动我的系统,git 命令再次起作用...瞧!!!

也许您已经花了几个小时编码,系统决定休息一下,似乎缓存了很多东西,只需重新启动并再次刷新!