6

我安装了 Git-Bash,但我无法使用 Cygwin 访问的所有工具(vim、vimdiff)。可以在其中一个 Git 配置文件中设置吗?

4

3 回答 3

3

Git bash 和 msysgit 包中的相关工具是纯 Windows 可执行文件。

这就是为什么你不能在 Git bash 中运行 Cygwin 工具的原因,因为这些不是完全的 Windows 程序(它们需要cygwin.dll,请参阅下面的 @fvu 评论)。

如果你想在 Cygwin 工具中使用 Git,你必须安装 Cygwin 的 git 包。

于 2013-07-01T21:20:57.970 回答
3

You might just need to add the cygwin bin directory to your $PATH variable in git bash.

Despite what everyone else seems to think they know, Git Bash is actually pretty much repackaged Cygwin. Viz: https://github.com/msysgit/msys/tree/master/winsup/cygwin

于 2015-06-12T23:34:59.863 回答
0

如果将 Cygwinbin目录添加到$PATHgit bash 中的变量,请确保使用 Git 2.27(2020 年第二季度)。

通过run_command()API 运行的实用程序在 Cygwin 上未正确生成,当它们的路径以带有反斜杠的完整路径给出时。

请参阅Andras Kucsma ( ) 的提交 05ac858(2020 年 3 月 27 日(由Junio C Hamano 合并 -- --d01b722 提交中,2020 年 4 月 22 日)r0mai
gitster

run-command: 在 Cygwin 上正确触发 PATH 查找

签字人:Andras Kucsma

在 Cygwin 上,类 POSIX 系统的代码路径位于run-command.c::start_command() 中。调用辅助函数来决定是否需要在prepare_cmd()PATH 中查找命令。当且仅当其中没有任何斜杠“/”时,进行路径查找的逻辑是。如果此测试通过,我们最终会尝试通过在 PATH 的每个冒号分隔的组件之后附加字符串来运行命令。

Cygwin 环境支持 Windows 和 POSIX 样式路径,因此正斜杠“/”和反斜杠“\”都可以用作用户提供的任何外部程序的目录分隔符。

在 PATH 中错误地搜索而不是按原样执行的路径字符串的示例:

"C:\Program Files\some-program.exe" - "a\b\c.exe"

为了处理这些问题,通过引入path) 辅助函数来抽象出真正的 POSIX 和 Cygwin 系统之间的差异,让PATH查找检测逻辑prepare_cmd()了解这个 Cygwin 怪癖。has_dir_sep(

于 2020-04-26T11:57:13.110 回答