【问题标题】:Git issue with Visual Studio 2015Visual Studio 2015 的 Git 问题
【发布时间】:2016-03-23 00:02:29
【问题描述】:

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

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

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


更新

(讽刺的标题...) VS 将未保存的文件跟踪为“已更改” 并且保存的文件似乎“未更改”

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


更新 2

输出窗口中的这可能与错误有关吗:

打开存储库:

无法打开“C:/[项目路径].VC.opendb”:该进程无法访问该文件,因为它正被另一个进程使用。

无法打开“C:/[项目路径].VC.opendb”:该进程无法访问该文件,因为它正被另一个进程使用。

【问题讨论】:

  • 我还为直接从 Visual Studio 的 github 扩展(没有乌龟)克隆的 git 存储库验证了这个问题。所以这与乌龟 git 无关。
  • 您在 TortoiseGit 或 git cli 中是否收到任何错误消息?
  • 不...一切正常,直到 uodate
  • 有你的/repo/path/.git/index.lock 文件吗?
  • 我遇到了和我的一些同事一样的问题。 @VonC 的以下建议不能解决问题:(

标签: git visual-studio-2015 tortoisegit


【解决方案1】:

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

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

或者:

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

【讨论】:

    【解决方案2】:

    我遇到了和你一样的问题,花了几个小时试图让它工作,包括重新克隆。

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

    当我返回 Visual Studio 后,我所有的待定更改都显示出来了。据我所知,一切都恢复正常了。

    【讨论】:

    • 最佳答案。简短,准确。此外,在我的情况下,我必须重新启动 VS,但因为我在编辑 .gitignore 时打开了 VS。
    • 感谢 Equalify!。我将它添加到 #User-specific files 下,效果很好。
    • 谢谢!在偶然发现这个之前,我只拉了一个小时左右的头发。这将是更多的小时。
    • 当我升级到 2015 Update 2 后问题暂时消失了,但不久之后又出现了。此解决方案也适用于 Update 2。
    • 工作正常,只是不要意外在条目后面添加空格,因为它不会被 git 接受。
    【解决方案3】:

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

    要通过所有存储库来设置它

    git config core.autocrlf false
    

    它将被停用。

    【讨论】:

      【解决方案4】:

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

      图片解决方法如下:

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

      【讨论】:

        【解决方案5】:

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

        bare: true
        

        bare:false
        

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

          • 很烦人,这有时是正确的答案。叹息。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-10
          • 1970-01-01
          • 2023-03-26
          • 2015-10-31
          • 1970-01-01
          相关资源
          最近更新 更多