mingw和git的结合

v8wbuo2f  于 2023-09-29  发布在  Git
关注(0)|答案(5)|浏览(114)

我在D:\mingw中安装了MinGW。我在C:\Program Files\git中安装了Git。我想使用MinGW进行开发/编译,并使用git进行版本控制。
我想我必须使用正确的路径,但有些路径是硬编码的。类似于msys装载脚本调用/bin/msysmnt. exe
所以我有两个选择:1.使用git的shell(以便在提示符下显示分支)2.使用mingw(msys)的shell -获得正确的路径
无论我选择哪一个,我都必须让其他功能在它下面工作。

h7wcgrx3

h7wcgrx31#

**小更新:**自Git 2.x发布以来,Git for Windows基于MSYS2,并以32位和64位二进制形式提供。它仍然是一个分支,不能与真实的的MSYS 2互换。

你必须明白一件事:msysgit(你正在使用的git)是msys的一个分支,增加了git功能。msysshell中包含了很多unix工具(完整列表请参见msysgit/bin文件夹)。
也许可以向msysgit bin文件夹中添加额外的msys工具,但我不会冒这个险。
鉴于此,我认为最好将工具链添加到msysgit路径(使用bash配置文件或msysgit树中的任何文件)并使用它。如果缺少某个特定的实用程序,请从MinGW-msys树添加它,并希望它正常工作。
或者,只使用cmd.exe中的msys-git。从最近的版本开始,它运行得非常好(包括git show,编辑提交消息等)。为此,将/cmd目录添加到PATH,然后您可以使用您想要的所有git命令。这就是我所做的,因为msys是一个拖累,但它是git在Windows上工作的必要之恶。
UPDATE:在任何类型的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功能。
Nick的更新(我做了什么让它工作):
我在C:\Program Files\Git\etc中创建了一个名为bash_profile的文件。这是文件的内容:

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

make和gcc工作。
bash_profile不附带msysgit,因此如果更新,您不会覆盖它。

nfeuvbwi

nfeuvbwi2#

我把Git放在MinGW shell上,打开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
wd2eg0qa

wd2eg0qa3#

使用msys2。
它是msys,有一个不错的包管理器(pacman)和构建系统(makepkg),从arch Linux移植而来。我有一个shell,里面有我所有的devtools和git等等。

wgmfuz8q

wgmfuz8q4#

最新消息:
现在msys附带了git二进制包。
http://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/
老答案:
如果你使用的是最新的mingwportableGit,只需将git.exe(从portableGitXXX.7z中提取文件)放入C:\MinGW\msys\1.0\bin\

dvtswwa3

dvtswwa35#

到目前为止,只有msys2 mingw64 shell中的pacman -S git安装了git

相关问题