2011-05-04 103 views
14

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

是否有可能到:

  • 安装MinGW的 “进” 的Git Bash的(因为它已经包含MSYS,不是吗?)OR
  • 到两个安装之间设置 “链接”,使这行得通。

我会优先考虑我可以更轻松地保持两个软件包的最新状态。

在此先感谢:)

+0

相关:http://stackoverflow.com/questions/5648330/combining-mingw-and-git – leonbloy 2012-09-16 18:54:22

回答

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,还是我失去了一些东西?

+1

安装时我使用了第二个选项。正当我输入_where git_时,我得到_git.cmd_文件。所以我把这个bin directoy manuelly加到了PATH中,它可以工作。感谢:) – tbolender 2011-05-05 17:56:57

10

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

因此,如果您msysgit安装在C:\ Program Files文件(x86)的\ Git的 打开MinGW的外壳和类型:

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

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

+0

很高兴看到无数其他黑客的理智回报,不仅让读者感到惊讶,而且作者惊叹:哇,它实际上工作。我一直在想,符号链接任何人?但是,真正让我感到困惑的是,为什么要开始使用两个msys环境? – 2013-03-22 22:47:05

+0

msysGit是msys的一个子集,但也包括可能需要像ssh,curl和vi这样的git所需的其他实用程序。它甚至变得更糟糕,如果你还有RubyDevKit安装,因为你得到另一个msys。 – oenpelli 2014-08-07 00:56:05

+0

当我从我的MinGW/MSYS提示(msys-base 2013073200 - 截至2015年3月8日的当前版本)中尝试此操作时,结果符号链接无法正确调用'git.exe':'发起错误git:文件名或扩展名太长。然而,工作是通过'〜/ .profile'附加到'$ PATH';例如'PATH =“$ PATH:/ c/program files(x86)/ git/cmd”' – mklement0 2015-03-08 18:23:38

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它有同样的问题,所以它似乎更简单的创建为每个环境的脚本。

0

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

  1. 在Windows中运行,键入 “混帐庆典”
  2. Vim的〜/ .profile文件
  3. 加入“出口PATH =/C/MinGW的/ MSYS/1.0/bin中:/c/MinGW/bin:$ {PATH}“作为文件的最后一行(MinGW应该位于C:\ MinGW中)
  4. :wq,存在vim。
  5. 退出git的庆典,并重新启动再