我在D:\ mingw中安装了 MinGW 。我在C:\ Program Files \ git中安装了 Git 。我想使用MinGW开发/编译并使用git进行版本控制。
我想我必须使用正确的路径,但有些路径是硬编码的。像msys mount脚本调用/bin/msysmnt.exe
所以我有两个选择: 1.使用git的shell(能够在提示时显示分支) 2.使用mingw(msys)的shell - 拥有正确的路径
无论我选择哪个,我都必须让其他功能在其下工作。
答案 0 :(得分:28)
小更新:自Git 2.x版本发布以来,Git for Windows基于MSYS2,并以32位和64位二进制形式提供。它仍然是一个分叉,不能与真正的MSYS2互换。
你必须明白的一件事:msysgit(你正在使用的git)是一个带有添加git功能的msys的分支。 msys shell中包含许多unix工具(有关完整列表,请参阅msysgit / bin文件夹)。
有可能在msysgit bin文件夹中添加额外的msys工具,但我不会冒这个风险。
鉴于此,我认为将工具链添加到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
或者hackishly找到/ 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
的{{1}}中创建了文件。这是文件的内容:
bash_profile
make和gcc工作。
export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin
未附带msysgit,因此如果您更新,则不会覆盖它。
答案 1 :(得分:16)
我通过打开c:\ MinGW \ msys \ 1.0 \ etc \ profile(不在记事本中,没有回车符)并添加:
将Git放在MinGW shell上export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin
在x86系统上,这将是:
export PATH=$PATH:/c/Program\ Files/Git/bin
答案 2 :(得分:6)
更新
现在msys附带git二进制包。
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
老答案:如果您使用的是最新的mingw& portableGit,只需将git.exe(从portableGitXXX.7z中提取文件)放入C:\ MinGW \ msys \ 1.0 \ bin \
答案 3 :(得分:6)
使用msys2。 它的msys有一个不错的包管理器(pacman)和构建系统(makepkg),从arch linux移植。我有一个带有我所有的devtools和git的shell,以及al
答案 4 :(得分:0)
截止到今天,仅pacman -S git
在msys2 mingw64 shell中就安装了git