想知道是否有人有类似的经历。 Git似乎正在修改我的路径环境变量,以下称为$ path,这样如果让我的系统运行几天之后,$ path就是1个巨大的混乱!
干净启动后,$ path看起来像这样:
d:\窗口\ system32; d:\ WINDOWS; d:\ APPS \发展\ GIT中\ CMD; d:\ APPS \发展\的Android \ Android的SDK \平台的工具; d:\ APPS \发展\ phantomjs-1.9.7窗口; d:\ APPS \工具\的GnuWin32 \ BIN
当它到达我提到的状态时,它看起来像这样:
d:\ APPS \发展\ GIT中\ GIT-猎豹.. \仓; d:\窗口\ system32; d:\ WINDOWS; d:\ APPS \发展\ GIT中\ CMD; d:\ APPS \发展\ Android的\ Android的SDK \平台工具; d:\ APPS \开发\ phantomjs-1.9.7-窗口; d:\ APPS \ TOOLS \的GnuWin32 \ BIN
除了重复 D:\ Apps \ Development \ Git \ git-cheetah .. \ bin 位,有时(看起来像什么)超过50次!
非常感谢对此的任何见解
答案 0 :(得分:2)
首先,道歉这是一个解决方法而不是一个答案。我遇到了同样的问题。最终我的PATH变得如此之大,以至于我的程序找不到任何东西,就像XCOPY一样简单。
在我的工作计算机上发生了这种情况,该计算机受域控制,我没有管理员权限。这些说明假设没有管理员访问权限,严格来说是用户访问。
为了避免重启,我执行以下操作:
在执行这些步骤之前,您可以打开命令窗口并运行set PATH
以验证您有cheetah
个太多。
<username>
的用户变量”部分下选择“路径”变量。打开一个新的命令窗口(已经打开的命令窗口可以保留它们当前的环境)并运行'set PATH'来验证你的路径中是否有一个'或者是'猎豹'。
答案 1 :(得分:2)
我有同样恼人的问题。只需下载git-cheetah源代码,打开common / winexec.c,然后在第262行更改:
if (path.len) {
setenv("PATH", path.buf, 1);
rec->envpath = strbuf_detach(&path, NULL);
}
为:
if (path.len) {
if (!strstr(getenv("PATH"), gitpath))
setenv("PATH", path.buf, 1);
rec->envpath = strbuf_detach(&path, NULL);
}
然后,重新编译(cd explorer,mingw32-make)并将生成的dll复制到Program files \ Git \ git-cheetah中的现有dll上。如果文件正在使用中,您可以打开控制台窗口,关闭Explorer进程并使用命令行进行复制;然后,使用任务管理器重启资源管理器(文件 - >执行)。