Git 当 运行 SourceTree 在 OS/X 上颠簸 CPU

Git thrashing CPU on OS/X when running SourceTree

虽然 运行 SourceTree 定期(即每天多次),但我注意到我的计算机 运行 速度很慢并且 git 正在使用大量 CPU (> 90%)。 SourceTree 中没有可见的 activity,我也没有主动使用它。

我是 运行 最新版本的 SourceTree (2.0.5.2) 和 git (v2.5.0)。 Mac OS/X Yosemite Mac 书 Air.

我很想知道其他人是否看到了这个,或者它是否是我的系统/配置的异常。

谢谢!

您可能看到 SourceTree 在检查您的存储库中是否有传入的更改。默认情况下,它会从您的每个项目配置的默认远程获取传入的更改。根据项目的数量和存储库的大小,这可能是您所看到的症状的原因之一。

您可以从 SourceTree > Preferences > General 禁用(或更改)此行为,有一个名为 Check default remotes for updates every X minutes 的设置,默认值为 10 分钟:

请尝试禁用此设置(可能还有上面的设置,Refresh automatically when files change)以查看是否可以改善这种情况。

好的,我找到问题了。我 运行 lsof | grep <git pid> 并注意到 pwd 设置为我的主目录,并且我在我的主目录中有一个早已被遗忘的 git 存储库。

所以每隔几分钟,SourceTree 就会 运行 git 与我的主目录中的所有内容保持一致。

为什么 SourceTree 运行 git 在那里是个谜,因为我没有在 SourceTree 中打开那个 git 仓库。

我将针对 SourceTree 提交错误。

谢谢!

对我来说,CPU 的消耗是由于 SourceTree 正在对 package.json(25k+ 行和复杂结构)等大文件进行差异化。

一个可能的修复方法是从 SourceTree 的设置中设置一个忽略文件,第 "Diff" 部分,然后 "Ignore File Pattern".