【问题标题】:Using msysGit from MinGW and vice versa使用 MinGW 的 msysGit,反之亦然
【发布时间】:2011-08-18 15:05:12
【问题描述】:

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

有没有可能:

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

我更喜欢可以更轻松地使两个软件包保持最新的方式。

提前致谢:)

【问题讨论】:

标签: git compilation mingw msysgit msys


【解决方案1】:

如果你选择了第二个选项,你可以在 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 命令。

【讨论】:

  • 很高兴看到理智回归,与无数其他黑客并列,不仅让读者而且作者都惊讶于:哇,它确实有效。我一直在想,符号链接有人吗?真正让我感到困惑的是,为什么要从两个 msys 环境开始?
  • msysGit 是 msys 的子集,但还包括 git 可能需要的其他实用程序,例如 ssh、curl 和 vi。如果您在安装另一个 msys 时还安装了 RubyDevKit,情况会变得更糟。
  • 当我从我的 MinGW/MSYS 提示符(msys-base 2013073200 - 当前为 2015 年 3 月 8 日)尝试此操作时,生成的符号链接无法正确调用 git.exeerror launching git: The filename or extension is too long. 有什么用,但是,是通过~/.profile 附加到$PATH;例如,PATH="$PATH:/c/program files (x86)/git/cmd"
【解决方案2】:

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

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

你必须选择第三个选项,甚至第二个就足够了。

下面是我的 MingW 截图

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

【讨论】:

  • 我在安装时使用了第二个选项。就在我输入 where git 时,我得到 git.cmd 文件。所以我将 bin 目录手动添加到 PATH 并且它可以工作。谢谢:)
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    如果您希望每次在 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)
    4. :wq,存在vim。
    5. 退出 git bash,然后重新启动

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 2014-11-08
      • 2012-02-16
      • 2013-08-16
      • 2012-06-27
      • 2017-02-05
      • 2012-12-01
      • 2012-02-05
      • 1970-01-01
      相关资源
      最近更新 更多