Windows git cheetah多次修改path环境变量
只是想知道是否有人有过类似的经历。 Git似乎正在修改我的path环境变量,以下称为$path,因此,如果在我的系统运行几天之后,$path变得一团糟 干净启动后,$路径如下所示: D:\WINDOWS\system32;D:\WINDOWS;D:\Apps\Development\Git\cmd;D:\Apps\Development\Android\Android sdk\platform tools;D:\Apps\Development\phantomjs-1.9.7-windows;D:\Apps\Tools\GnuWin32\bin 当它到达我提到的状态时,它看起来是这样的: D:\Apps\Development\Git\Git cheetah..\bin;D:\WINDOWS\system32;D:\WINDOWS;D:\Apps\Development\Git\cmd;D:\Apps\Development\Android\Android sdk\platform tools;D:\Apps\Development\phantomjs-1.9.7-windows;D:\Apps\Tools\GnuWin32\bin 除了D:\Apps\Development\Git\Git cheetah..\bin位重复之外,有时(看起来)会重复50次以上Windows git cheetah多次修改path环境变量,windows,git,Windows,Git,只是想知道是否有人有过类似的经历。 Git似乎正在修改我的path环境变量,以下称为$path,因此,如果在我的系统运行几天之后,$path变得一团糟 干净启动后,$路径如下所示: D:\WINDOWS\system32;D:\WINDOWS;D:\Apps\Development\Git\cmd;D:\Apps\Development\Android\Android sdk\platform tools;D:\Apps\Development\phantomjs-1.9.7-windows;D
如果您能对此有所了解,我们将不胜感激。首先,很抱歉,这与其说是一个答案,不如说是一个解决办法。我也遇到了同样的问题。最终,我的路径变得如此之大,以至于我的程序找不到任何东西,甚至像XCOPY一样简单 这发生在我的工作计算机上,它受域控制,我没有管理员权限。这些说明假定没有管理员访问权限,严格来说是用户访问权限 为了避免重新启动,我执行以下操作: 在执行这些步骤之前,您可以打开命令窗口并运行
set PATH
,以验证是否有过多的cheetah
s
的用户变量”部分下选择“路径”变量打开一个新的命令窗口(已经打开的命令窗口可能会保留其当前环境)并运行“设置路径”以验证您是否返回到路径中的一个或一个“cheetah”。我遇到了同样的恼人问题。只需下载git cheetah source,打开common/winexec.c并在线262更改:
if (path.len) {
setenv("PATH", path.buf, 1);
rec->envpath = strbuf_detach(&path, NULL);
}
致:
然后,重新编译(cd explorer,mingw32 make)并将生成的dll复制到Program files\Git\Git cheetah中的现有dll上。如果文件正在使用中,可以打开控制台窗口,关闭资源管理器进程并使用命令行进行复制;然后,使用任务管理器(文件->执行)重新启动资源管理器。我遇到了完全相同的问题。我还没有找到解决方案,我注意到github项目中有一个bug,我发现使用环境变量对话框可以重置未来的控制台。但是我希望有人知道如何预防它。唯一的区别是我必须使用系统路径变量,因为没有用户路径变量。我在XP r上,你以后可能会用什么?事实上,这是一件非常愚蠢的事情,因为GIT太棒了。我有一个理论tho:我认为回购越多,这种情况就会发生。我只有2到3个存储库,路径在我的path变量中重复了59次。我也看到了。也许你在资源管理器中右键点击的次数越多,git上下文菜单就会出现。我觉得奇怪的是,这种解决方法是有效的。而且,不仅仅是右键单击并从上下文菜单中打开CMD。我不知道为什么这不是公认的答案。在Windows 10和2015上运行非常完美。
if (path.len) {
if (!strstr(getenv("PATH"), gitpath))
setenv("PATH", path.buf, 1);
rec->envpath = strbuf_detach(&path, NULL);
}