git - 如何防止 Visual Studio 中的 git 消耗恒定的 35% CPU?

标签 git visual-studio-2013

一段时间以来,我一直看到 Visual Studio 2013 的 git 支持不断消耗我的大量 CPU。我试过 Mark Rendle 的禁用 git 的方法。有一次,删除所有用于 git 支持的注册表项非常有效。但是,从更新 2 开始,此方法不再有效。我也试过他的扩展,但没有帮助。

我知道它与 git 有关,因为我在 Visual Studio 上运行了一个分析器,结果非常清楚。

enter image description here

每当我保存文件时,我都会遇到 30-60 秒的 CPU 使用率峰值。在编辑代码时,这很常见。如果我同时打开其他 Visual Studio 实例,其他实例也会看到类似的 CPU 峰值。因此,当打开 Visual Studio 的 4 个实例时,我将在组合所有实例时看到完全 100% 的 CPU 使用率。这非常烦人,并且使 Visual Studio borderline 在某些时候无法使用

在 Visual Studio 2013 中是否有真正禁用 git 支持的解决方法或方法?

最佳答案

我不能和前面提到的 NoGit Extension 说话禁用 git 扩展,但我听说过关于它的好消息。尽管如此,这只是解决您的问题的方法,而不是实际的解决方案。

Visual Studio 在您的 git 存储库的工作目录上挂接一个文件系统监听器以识别更改:例如,当您切换分支时,我们会更改团队资源管理器中的分支选择器。同样,当您编辑文件时,我们会在解决方案资源管理器和团队资源管理器中将该文件修饰为已更改。

这通常不是一项昂贵的检查,但是如果您在 .gitignore(例如构建输出!)那么这是愚蠢的,疯狂的昂贵。

请仔细检查您的 .gitignore 文件是否设置为适本地忽略您的构建输出。请确保发生这种情况时 git status 不会报告您的构建输出或自动生成的文件。

如果您认为它设置正确,请通过电子邮件与我联系,我们可以尝试确定忽略匹配逻辑中是否存在错误。

关于git - 如何防止 Visual Studio 中的 git 消耗恒定的 35% CPU?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874170/

相关文章:

reactjs - 使用 Typescript(TSX 文件)将 Prop 传递给 React 中的子组件

.net - 保存按钮未保存在 .txt 文件中 Visual Basic .NET

c# - 为什么 Visual Studio 在临时文件夹中生成以下文件 .NETFramework,Version=v4.5.AssemblyAttributes.cs

git - 如何分支并包含未决 pull 请求中的更改

c++ - 无法使用 ifstream::open 打开 html 资源文件 - Visual Studio 2013

c++ - 当我将参数传递给要绘制的函数时,openGL 不绘制网格

git - 从 Git 中删除旧的远程分支

git - github 是否支持 git wire 协议(protocol) v2?

git - Netbeans,git,拒绝 hostKey?

git - 如何 merge Git LFS 跟踪的文件内容