首页 > 解决方案 > 在 Windows 上扫描 git

问题描述

我已经开始深入研究在我的 windows 盒子上的一些停顿期间进行的一些 emacs 文件 I/O。

我注意到,当我在我的笔记存储库中打开一个 org 文件时,emacs 似乎会反复扫描我的路径,以寻找有关某种 git 二进制文件、批处理文件 btm、com 等的任何提及。扫描的目录列表相当庞大,它似乎被连续扫描。虽然我知道这不是减速的全部原因,但它是在一组 I/O 操作上,但似乎我应该能够摆脱它。挖掘了一下,我注意到 magit-git-w32-path-hack 似乎已经扫描了确切的路径列表。恐怕我不知道这个变量的历史。

我很想简单地将这个变量截断为我用于 Windows 安装的 git 的确切路径,但我担心这里有一些我不明白的因素在起作用。

有人会对这个变量的用途以及如何填充它有一些建议吗?

标签: gitemacs

解决方案


“摆脱magit/magitlisp/magit-git.el#magit-git-w32-path-hack变量的替代方法是设置magit-git-executable为绝对路径。

这在“ Magit / Git Executable ”中有详细说明。

但请注意,这样做是一个杂牌。最好确保环境变量中的顺序$PATH正确,并且 Emacs 是在该环境生效的情况下启动的。

该命令magit-debug-git-executable对于找出 Emacs 在哪里搜索 git 很有用。
如果必须从 Windows 连接到非 Windows 计算机,则必须将值更改为“ git”。


推荐阅读