使用MinGW的msysGit,反之亦然

时间:2011-05-04 14:53:26

标签: git compilation mingw msysgit msys

我使用git作为我的修订控制系统。为此,我安装了msysGit来检查我在MSW上的存储库。现在我想用MinGW编译我的程序,并为我发现这个“问题”: 当我通过mingw-get安装MinGW和MSYS时,我可以编译我的程序,没问题。但我无法访问git。当我使用Git Bash时,我可以使用git,但无法编译。

是否有可能:

  • 将MinGW“安装到”Git Bash中(因为它已经包含了msys,不是吗?)或者
  • 在两个安装之间设置“链接”以使其正常工作。

我会优先考虑如何让这两个包更容易更新。

提前致谢:)

4 个答案:

答案 0 :(得分:10)

如果您选择第二个选项,可以在MinGW中添加符号链接到git。

因此,如果你的msysgit安装在C:\ Program Files(x86)\ Git中 打开MinGW shell并输入:

cd /usr/bin
ln -s /c/Program\ Files\ \(x86\)/Git/bin/git git

这将在MinGW的/ usr / bin中创建一个名为git的符号链接,指向msysgit安装。 然后你可以在MinGW shell的任何地方使用git命令。

答案 1 :(得分:7)

你是如何安装Msysgit的?您是否在屏幕中选择了第三个选项,要求进行PATH设置?

enter image description here

(截图来自:http://ekkescorner.files.wordpress.com/2010/02/git-windows-msysgit-install-3.png。)

您必须选择第三个选项,否则第二个选项就足够了。

以下是我的MingW的截图

enter image description here

无论如何,这都是关于在msysgit中设置git.exe的正确路径,还是我错过了什么?

答案 2 :(得分:1)

您需要修复PATH,以便运行与msys或msysgit环境匹配的外部命令。根据您安装这两个shell环境的方式,其中一个将首先位于PATH中,因此无论您运行哪个bash,您都将从PATH中首先运行bin目录中的外部命令。

你可以通过从不同的bash shell运行ls.exe来测试这个,我发现有一个工作,一个没有,但是当我修复PATH时它们都工作了。

我试图找出一个适用于两者的聪明脚本,但很难,因为它们都将自己的bin目录映射到/ bin。当我厌倦了尝试解决这个问题时,我使用以下行创建了msys.sh和msysgit.sh:

export PATH=/c/MinGW/msys/1.0/bin:/c/MinGW/bin:${PATH}

export PATH="/c/Program Files (x86)/Git/bin:${PATH}"

分别。这些文件需要源自您正在运行的环境。例如:

source ./msys.sh

你实际上只需要一个脚本,因为一个环境可以工作,但我也安装了RubyDevKit,它有同样的问题,因此为每个环境创建一个脚本似乎更简单。

答案 3 :(得分:0)

如果您希望每次在Windows上启动git bash时更改路径。 您需要执行以下步骤:

  1. 在Windows中运行,输入“git bash”
  2. Vim~ / .profile
  3. 将“export PATH = / c / MinGW / msys / 1.0 / bin:/ c / MinGW / bin:$ {PATH}”添加到文件的最后一行。(MinGW应该位于C:\ MinGW)< / LI>
  4. :wq,存在vim。
  5. 退出git bash,然后重新启动