我安装了Git-Bash但是我无法访问我可以使用Cygwin访问的所有工具(vim,vimdiff)。可以在其中一个Git配置文件中设置吗?
答案 0 :(得分:3)
Git bash和msysgit包中的相关工具是纯Windows可执行文件。
这就是为什么你不能将Cygwin工具运行到Git bash中,因为这些不是完全是windows程序(它们需要cygwin.dll
,请参阅下面的@fvu评论)。
如果你想使用Git和Cygwin工具,你必须为Cygwin安装git包。
答案 1 :(得分:2)
您可能只需要将cygwin bin目录添加到git bash中的$ PATH变量中。
尽管其他人似乎都认为他们知道,Git Bash实际上是重新包装的Cygwin。 Viz:https://github.com/msysgit/msys/tree/master/winsup/cygwin
答案 2 :(得分:0)
如果将cygwin bin
目录添加到git bash中的$PATH
变量中,请确保使用Git 2.27(2020年第二季度)。
在Cygwin上正确生成通过run_command()
API运行的实用程序时,它们的路径是带有反斜杠的完整路径。
请参见commit 05ac858的Andras Kucsma (r0mai
)(2020年3月27日)。
(由Junio C Hamano -- gitster
--在commit d01b722中合并,2020年4月22日)
run-command
:在Cygwin上正确触发PATH查找签名人:Andras Kucsma
在Cygwin上,类似POSIX的系统的代码路径位于
run-command.c
:: start_command()中。调用prepare_cmd()
帮助函数来确定是否需要在PATH中查找命令。当且仅当其中没有任何斜杠“ /”时,才进行PATH查找。如果此测试通过,我们最终会尝试通过在PATH的每个冒号分隔部分之后附加字符串来运行命令。Cygwin环境同时支持Windows和POSIX样式路径,因此正斜杠'/'和反斜杠'\'都可以用作用户提供的任何外部程序的目录分隔符。
在PATH中错误地搜索而不是按原样执行的路径字符串的示例:
"C:\Program Files\some-program.exe" - "a\b\c.exe"
为处理这些问题,通过引入
PATH
path)辅助函数来抽象出真正的POSIX之间的区别,从而prepare_cmd()
中的has_dir_sep(
查找检测逻辑被告知有关此Cygwin怪癖的信息和Cygwin系统。