【问题标题】:How to use my own Git instead on Xcode's one?如何在 Xcode 上使用我自己的 Git?
【发布时间】:2012-01-03 02:46:42
【问题描述】:

我通过 homebrew 安装了 Git 1.7.7.4,但 Apple 从版本 4 开始将 Git 集成到 Xcode 中。 所以在我的电脑中,默认的 Git 版本是 1.7.5.4,它是 Xcode 4 的内置版本。

我想知道是否有一种方法可以让我默认使用新版本并影响 Xcode?​​p>

我尝试将路径添加到 $PATH:

export PATH=/usr/local/Cellar:$PATH

顺便说一句,我正在使用 zsh。

更新: 感谢@birryree 的帮助,我使用了错误的路径,它应该是 /usr/local/bin,因为 homebrew 将使用 /usr/local/Cellar 进行存储,并使用符号链接来确保所有软件包都可用/usr/local/bin.

【问题讨论】:

  • 它在/usr/local/bin,但我不知道xcode是否使用它安装到/usr/bin中的硬编码。
  • 好吧,homebrew 在 /usr/local/Cellar 下安装了 Git 并为其设置了符号链接,所以我猜应该是 Cellar。 Xcode 使用 /usr/bin 进行硬编码。我讨厌它...想你的帮助。

标签: xcode git versioning homebrew


【解决方案1】:

我正在使用带有 oh-my-fish 的鱼壳,并在我在 config.fish 中设置名为 brew 的插件后解决了这个问题。

对于zsh,如果你使用oh-my-zsh,你可以尝试去~/.zshrc添加名为brew的插件,比如“set plugins=(brew)”

【讨论】:

    【解决方案2】:

    运行以下命令:

    brew 链接--覆盖 git

    这应该确保符号链接发生并且正在使用正确版本的 git。

    【讨论】:

      【解决方案3】:

      有一个更简单的方法。在您的 shell 的配置文件(.bash_profile、.zshrc 等...)中,创建一个尚未存在的条目:

      export PATH="/usr/local/bin:$PATH"
      

      这将告诉 shell,homebrew 安装的所有软件包都将覆盖系统默认值,因为 homebrew 在指向您的 Cellar 的目录中创建了别名。

      【讨论】:

        【解决方案4】:

        当您更新 xcode 时,选择的答案可能会中断。

        相反,在 ~/.bash_profile 中添加类似于以下行的内容

        对 brew 安装的 git 版本取模

        ### Added to use brew git
        export PATH="/usr/local/Cellar/git/1.8.1/bin/:$PATH"
        

        【讨论】:

          【解决方案5】:

          根据我处理问题的经验,请在1044937413177203 进行检查,这将对您有所帮助:

          1. 切换到 Xcode 目录:

            cd /Applications/Xcode.app/Contents/Developer/usr/bin

          2. 像这样重命名 Xcode 的 git:

            sudo mv ./git ./git-xcode-usr-bin

          3. 链接我自己通过自制软件安装的 git:

            sudo ln -s /usr/local/bin/git ./git

          你应该对/usr/bin/git做同样的事情:

          sudo mv /usr/bin/git /usr/bin/git-xcode-usr-bin
          sudo ln -s /usr/local/bin/git /usr/bin/git
          

          这将实际链接/usr/local/Cellar/git/1.8.0/bin/git(因为我目前使用的是 git 1.8.0)

          【讨论】:

          • 这是一个可怕的、hacky 的解决方案,而且 OP 甚至没有说明他为什么要使用更新版本的 git。无论如何,Git 在 Xcode 中都相当糟糕(如果您有任何类型的合并问题),所以我建议将 SourceTree 用于所有非平凡的 git 操作:sourcetreeapp.com
          • 这使用起来太老套了。在 PATH 变量前添加 /usr/local/bin 更容易;它最初是列出的最后一个目录。看看这个答案--->stackoverflow.com/a/10455668/393021
          【解决方案6】:

          /usr/local/Cellar/git 存在吗?

          我希望像/usr/local/Cellar/bin/git

          这样的路径

          【讨论】:

            猜你喜欢
            • 2012-10-14
            • 2014-12-02
            • 2011-08-31
            • 1970-01-01
            • 2011-09-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-12
            相关资源
            最近更新 更多