结合mingw和git

我在D:\ mingw中安装了MinGW 。 我有Git安装在C:\ Program Files \ git中。 我想使用MinGW进行开发/编译,并使用git进行版本控制。

我想我必须使用正确的path,但一些path是硬编码的。 像msys mount脚本调用/bin/msysmnt.exe

所以我有2个选项:1.使用git的shell(能够在提示符处显示分支)2.使用mingw(msys)的shell – 具有正确的path

无论select哪一个,我都必须使其他function在其下工作。

小的更新:从Git 2.x版本开始, Git for Windows基于MSYS2 ,可用32位和64位二进制格式。 它仍然是一个分叉,不能与真正的MSYS2互换。


有一件事你必须明白:msysgit(你使用的git)是msys的一个分支,增加了git的function。 msysshell中包含许多unix工具(完整列表,请参阅msysgit / bin文件夹)。

也许可以在msysgit bin文件夹中添加更多的msys工具,但我不会为此冒险。

鉴于此,我认为最好将工具链添加到msysgitpath(使用bashconfiguration文件或者msysgit树中的任何文件),然后使用它。 如果缺less一个特定的工具,请从MinGW-msys树中添加它,并希望它工作正常。

或者,只需使用cmd.exe中的msys-git即可。 从最近的版本,它工作得很好(包括git显示,编辑提交消息等)。 为此,请将/ 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的人禁用了香草msys中的fstabfunction。

尼克更新(我做了什么工作):

我在C:\Program Files\Git\etc名为bash_profile 。 这是文件的内容:

 export PATH=$PATH:/d/mingw/bin:/d/mingw/msys/1.0/bin 

make和gcc工作。

bash_profile没有附带msysgit,所以如果你更新的话不会覆盖它。

通过打开c:\ MinGW \ msys \ 1.0 \ etc \ profile(不在记事本中,没有回车符)并添加:

 export PATH=$PATH:/c/Program\ Files\ \(x86\)/Git/bin 

在x86系统上,这将是:

 export PATH=$PATH:/c/Program\ Files/Git/bin 

更新:

现在msys带有git二进制包。

http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/

老回答:

如果您正在使用最新的mingw & portableGit ,只需将git.exe(从portableGitXXX.7z中提取文件)放到C:\ MinGW \ msys \ 1.0 \ bin \

使用msys2。 它的msys有一个体面的包pipe理器(pacman)和构build系统(makepkg),从arch linux移植过来。 我有一个shell所有的devtools和git等等