git-cheetah多次修改路径环境变量

时间:2014-06-16 14:22:08

标签: windows git

想知道是否有人有类似的经历。 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次!

非常感谢对此的任何见解

2 个答案:

答案 0 :(得分:2)

首先,道歉这是一个解决方法而不是一个答案。我遇到了同样的问题。最终我的PATH变得如此之大,以至于我的程序找不到任何东西,就像XCOPY一样简单。

在我的工作计算机上发生了这种情况,该计算机受域控制,我没有管理员权限。这些说明假设没有管理员访问权限,严格来说是用户访问。

为了避免重启,我执行以下操作:

在执行这些步骤之前,您可以打开命令窗口并运行set PATH以验证您有cheetah个太多。

  1. 转到“环境变量”对话框(右键单击“我的电脑” - >>选择“属性” - >>选择“高级”选项卡 - >单击“环境变量”按钮。)
  2. 在“<username>的用户变量”部分下选择“路径”变量。
  3. 点击同一部分下的“编辑”按钮。
  4. 什么都不做
  5. 在“编辑用户变量”对话框中单击“确定”。
  6. 在“环境变量”对话框中单击“确定”。
  7. 在“系统属性”窗口中单击“确定”。
  8. 打开一个新的命令窗口(已经打开的命令窗口可以保留它们当前的环境)并运行'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进程并使用命令行进行复制;然后,使用任务管理器重启资源管理器(文件 - >执行)。