我在 D:\mingw 中安装了 MinGW。我在 C:\Program Files\git 中安装了 Git。我想使用 MinGW 开发/编译并使用 git 进行版本控制。
我想我必须使用正确的路径,但有些路径是硬编码的。就像msys挂载脚本调用/bin/msysmnt.exe
所以我有2个选择: 1.使用git的shell(能够在提示符下显示分支) 2. 使用 mingw(msys) 的 shell - 获得正确的路径
无论我选择哪一个,我都必须让其他功能在其下工作。
小更新:自 Git 2.x 发布以来,Git for Windows 基于 MSYS2,并以 32 位和 64 位二进制形式提供。它仍然是一个分叉,不能与真正的 MSYS2 互换。
您必须了解的一件事:msysgit(您正在使用的 git)是 msys 的一个分支,添加了 git 功能。 msys shell 中包含许多 UNIX 工具(有关完整列表,请参阅 msysgit/bin 文件夹)。
也许可以将其他 msys 工具添加到 msysgit bin 文件夹中,但我不会冒险这样做。
有鉴于此,我认为最好将工具链添加到 msysgit 路径(使用 bash 配置文件或 msysgit 树中的任何内容)并使用它。如果缺少特定实用程序,请从 MinGW-msys 树中添加它并希望它能正常工作。
或者,只需使用 cmd.exe 中的 msys-git。从最近的版本开始,它工作得很好(包括 git show、编辑提交消息等......)。为此,请将 /cmd 目录添加到 PATH,然后您就可以使用所需的所有 git 命令。这就是我所做的,因为 msys 是一个累赘,但却是 git 在 Windows 上工作的必要之恶。
更新:在任何类型的 MSYS 下将目录添加到 PATH 的详细说明:
export PATH=/d/MinGW/bin:$PATH
或者黑客地找到 /etc/profile 并更改此部分
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi
至:
if [ $MSYSTEM == MINGW32 ]; then
export PATH=".:/usr/local/bin:/d/MinGW/bin:/bin:$PATH"
else
export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
fi
没有更干净的方法,因为 msys-git 人们禁用了 vanilla msys 中的 fstab 功能。
来自尼克的更新(我做了什么让它发挥作用):
我在
C:\Program Files\Git\etc
中创建了名为 bash_profile
的文件。这是文件的内容:
export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin
make 和 gcc 工作了。
msysgit 不附带
bash_profile
,因此更新后不会覆盖它。
我通过打开 c:\MinGW\msys .0 tc\profile (不是在记事本中,没有回车符)并添加:
将 Git 放在 MinGW shell 上export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin
在 x86 系统上,这将是:
export PATH=$PATH:/c/Program\ Files/Git/bin
使用msys2。
它是 msys,具有不错的包管理器 (
pacman
) 和构建系统 (makepkg
),从 arch linux 移植。我有一个 shell,里面有我所有的开发工具和 git 等。
更新:
现在 msys 附带了 git 二进制包。
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
旧答案:
如果您使用最新的mingw和portableGit,只需将git.exe(从portableGitXXX.7z中提取文件)放入C:\MinGW\msys .0 in\
截至今天,只需
pacman -S git
在 msys2 mingw64 shell 中安装 git