繁体   English   中英

msysgit bash shell-如何解决“无法找到命令”

[英]msysgit bash shell- how to troubleshoot “cannot find command”

我需要帮助获取git扩展以使用msysgit运行。 我对扩展git-tfs和git-fetchall运气不好,在这两种情况下它都是同样的问题。 插件需要放置一个文件放在git可以找到它的位置(git-tfs.exe和git-fetchall.sh)。 我理解这意味着文件需要位于'PATH'环境变量中的目录中。 在这两种情况下,我都陷入了困境:

$ git-diffall
bash: git-diffall: command not found

要么:

$ git-tfs
bash: git-tfs: command not found

当我从常规命令shell运行echo%PATH%时,它显示我的路径变量包括git-diffall和git-tfs所在的目录。 我怎么调试这个,或者我错过了什么? 在msysgit中有没有办法验证命令搜索路径是否符合预期?

好的,我找到了断开连接。 直到我开始从shell运行“echo $ PATH”(而不是来自windows命令shell的echo%PATH%,它有不同的结果),这是难以捉摸的。

两个问题:

  1. 当我配置环境变量时,我最初在路径的末尾有一个'\\'。 这似乎导致echo $ PATH显示无效的路径名,如'/ c:/ directory'而不是'/ c / directory /。

  2. 需要重新启动才能更改通过Windows UI进行的系统环境变量,以反映在msysgit / bash / git shell中。

除了在$ PATH中,它们还需要是可执行的。 所以,在Cygwin中(因为你在你的问题中使用了“%PATH%”代替“$ PATH”,这是一个特定于Windows的东西),我应该导航到程序git-difall找到,然后键入:

chmod a+x git-diffall

此外,与忽略“.exe”,“。com”,“。bat”等扩展的Windows不同,BASH确实关心这些扩展,所以如果你的路径上有git-diffall.sh ,你需要将其作为git-diffall.sh调用,而不是作为git-diffall 如果要将其作为git-diffall调用,则只需删除文件扩展名即可。 您也可以使用Cygwin命令行执行此操作,使用:

mv git-diffall.sh git-diffall

此外,第一个chmod需要使用git-diffallgit-diffall.sh具体取决于实际名称。

我今天遇到同样的问题,但解决方案不在这里,所以我将加两分钱。

如果您在Windows中设置%HOME%路径 - 请确保:

  1. -user-环境设置,而不是那些-system-内创建。 git本身似乎正确使用系统变量,但GitExtensions仅从用户变量中获取HOME。
  2. 它不等于Git基目录。 事情是msysgit将C:\\Program Files (x86)\\Git (或者你安装它的任何地方)视为root /并将/bin添加到字面上,类似于命令PATH=$HOME/bin:$PATH 因此,如果您的%HOME%C:\\Program Files (x86)\\Git您将从//bin:开始$ PATH //bin:这显然是不正确的。

警告,从git 2.0.X / 2.1(2014年第3季度)开始, git diffall始终返回“ command not found ”:它已被删除。

Jonathan Nieder( jrn 提交的502b0a1 (在Tim Henigan( thenigan的帮助下):

contrib :删除git-diffall

当在v1.7.11(2012年6月)中添加了--dir-diff选项时contrib/中的“ git diffall ”脚本的功能被合并到“ git difftool ”中。
一旦difftool学会了这些功能, diffall脚本就会过时。

行为的唯一区别在于,当与工作树进行比较时, difftool在diff工具退出时将用户修改的任何文件复制回工作树。
git diffall ”需要--copy-back选项才能执行相同的操作。
所有其他diffall选项在difftool具有相同的含义。

通过删除旧的diffall脚本,让人们更轻松地选择要使用的工具。 发行说明中的​​指针应足以帮助当前用户迁移。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM