/ bin和/ usr/bin都安装在Git Bash中的相同位置

drz*_*drz 6 windows git-bash

适用于Windows的Git Bash(v 4.4.19)C:/Program Files/Git将" /"安装为" "并将" C:/Program Files/Git/usr/bin" 安装为" /bin"

这意味着/usr/bin并且/bin正在安装到相同的底层Windows文件夹.这将创建因为问题bashgit无法识别,除非我添加/c/Program Files/git/cmd直接到我的道路.

有没有配置文件来改变这个?为什么同一个文件夹被挂载两次?

Von*_*onC 0

确保在调用 bash 之前将%PATH%(Windows CMD PATH) 设置为:

set G=c:\path\to\latest\git
set PATH=%G%\bin;%G%\usr\bin;%G%\mingw64\bin
set PATH=%PATH%;C:\windows\system32;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
Run Code Online (Sandbox Code Playgroud)

然后,您将在 bash 会话中看到:

  • /usr/bin设置为%G%\usr\bin和的完整内容%G%\mingw64\bin
  • /bin只显示%G%\bin加上内置命令

那是:

vonc@vonc:/$ ls /usr/bin|wc -l
1160
vonc@vonc:/$ ls /bin|wc -l
149
Run Code Online (Sandbox Code Playgroud)

这始于2015 年 MingW2 的支持,以及后来的mingw-w64项目。

然而,/bin已安装到%G%\usr\bin.

有配置文件可以改变这个吗?

是的:/etc/mtab

$ cat /etc/mtab
D:/prgs/git/latest / ntfs binary,noacl,auto 1 1
D:/prgs/git/latest/usr/bin /bin ntfs binary,noacl,auto 1 1
C:/Users/vonc/AppData/Local/Temp /tmp ntfs binary,noacl,posix=0,usertemp 1 1
Run Code Online (Sandbox Code Playgroud)

所以/bin只安装一次: to 。

为什么同一个文件夹会被挂载两次?

由于/安装到%G%/usr/bin因此也是对 的引用(不是安装)%G%\usr\bin

Git 2.5.2.2(2015 年 9 月)通过问题 405提交 bf980fd说明了这一点。(另请参阅PR 79)。