我想编写一个小的构建辅助工具,它应该读取当前Git工作目录的一些属性,例如上次提交散列,是否有修改的文件等等。我发现使用已安装的Git二进制文件比使用未知格式的压缩文件读取.git目录更容易。但我的工具必须尽可能便携。它的目的是.NET应用程序,所以唯一的要求应该是.NET 2.0或更新。寻找在Windows系统上安装Git的路径
现在我该如何找到安装Git的路径?如果用户刚刚点击Git安装程序,则会使用默认的一个。但可能会有所不同。当我在git/bin中看到所有的程序文件时,我真的不希望它存在于我的%PATH%(其他工具,如TortoiseGit似乎也不需要)。我还没有在注册表中找到任何路径线索。
我可以使用什么算法来查找Git,这不是一个完整的文件系统扫描? (难道我已经说它需要快?)
有趣的想法,从卸载程序读取数据... – ygoe 2012-01-06 22:06:12
同时,我已经实现它,就像那样:搜索%ProgramFiles%\ Git * \ bin \ git.exe。如果不存在,请在%ProgramFiles(x86)%中重试。你对此有何看法? – ygoe 2012-01-06 22:08:00
如果不需要太长时间,应该没问题。我想完整的步骤应该是: 1.检查git.exe是否在PATH中。 2.否则,检查注册表的“InstallLocation”键。 3.否则,检查%ProgramFiles%(或64位Windows的%ProgramFiles(x86)%下的Git \ bin \ git.exe)。 – sschuberth 2012-01-09 09:40:08