【问题标题】:git gui not working after installing in Mac (e.g. Mountain Lion)在 Mac 中安装后 git gui 不起作用(例如 Mountain Lion)
【发布时间】:2012-07-30 13:44:19
【问题描述】:

当我运行git gui 时,我得到了这个:

$ git gui
git: 'gui' is not a git command. See 'git --help'.

Did you mean one of these?
    grep
    init
    pull
    push

但我运行其他 git 命令很好,包括gitk。我该如何解决这个问题?

谢谢。

【问题讨论】:

  • 对于MacPorts 用户:MacPorts 安装的git 不会发生此问题(即git guigit 配合良好,即通常由 MacPorts 在/opt/local/bin/git 安装),但这个问题确实发生在/usr/bin/git。因此,如果您观察到报告的错误,那么/usr/bin/ 可能会出现在您环境的PATH 之前 /opt/local/bin 中(假设后者在PATH 中)。要找出答案,请运行which -a git。更新路径的方便位置是文件~/.bashrc

标签: git


【解决方案1】:

编辑你的 git 配置,在别名部分为 gui 添加一个条目

nano ~/.gitconfig

[别名]

gui = !sh -c '/usr/local/git/libexec/git-core/git-gui'

编辑 2020

看起来原始答案中的路径现在已过时。更新说明:

[别名]

gui = !sh -c '/usr/local/opt/git/bin/git gui'

【讨论】:

  • 或者,从命令行执行此操作:git config --global --add alias.gui '!sh -c '/usr/local/git/libexec/git-core/git-gui''
  • $ git gui sh: /usr/local/git/libexec/git-core/git-gui: No such file or directory fatal: While expand alias 'gui': 'sh -c /usr /local/git/libexec/git-core/git-gui':没有这样的文件或目录
  • 从 OS X Mavericks 和 git-1.8.3.4 开始,brew 似乎将 git 安装到稍微不同的路径,其中包括 opt :/usr/local/opt/git/libexec/git -core/git-gui
  • @Roberto:我在 Mavericks 和 git-1.8.3.4,路径中没有 opt
  • 在多个不同工作站上的 Linux Mint 18 上出现相同的错误消息。从gitk 中的菜单启动git-gui 时,该错误消息将打印到控制台。这是解决办法。当然,git-gui 的路径在 Linux Mint 上是不同的,但可以通过运行 locate git-core/git-gui 来确定该路径。这是我的配置:[alias] gui = !sh -c '/usr/lib/git-core/git-gui'
【解决方案2】:

这个帖子:http://www.cmsimike.com/blog/2012/07/30/git-gui-and-osx-mountain-lion/救了我。

编辑~/.bash_profile并放入

alias gui='/usr/local/git/libexec/git-core/git-gui'

现在新命令是gui,而不是git gui

编辑(2013 年 1 月 28 日)

对于git gui 不起作用的原因,我找到了更好的答案:Did Apple remove the 'git gui' command in XCode 4.5 command line tools?。请参考此解决方案。

Apple 确实删除了“git gui”命令。我决定只自制 git 而不是依赖 XCode 命令行工具。

brew install git

然后我编辑了 /etc/paths 文件,使 /usr/local/bin 目录位于 /usr/bin 目录之前,因为这也不对。然后退出终端窗口并重新启动,现在我得到:

$ which git
/usr/local/bin/git

$ git --version
git version 1.7.12.1

然后 git gui 命令再次起作用。

编辑(2020-02-03)

从版本 2.25.0_1 开始,git gui 现在由 brew 中的单独公式提供,名为 git-gui。有关此更改的背景,请参阅以下 PR 和问题:https://github.com/Homebrew/homebrew-core/pull/49136

因此,除了安装 Homebrew 的 git 之外,还必须运行 git gui 访问权限

brew install git-gui

【讨论】:

  • 或编辑你的 git config gui = !sh -c '/usr/local/git/libexec/git-core/git-gui'
  • @Drew 我想使用您建议的解决方案,但我无法使其工作。你能再详细解释一下吗?
  • 这在 OS X 10.9 Mavericks 上对我有用。以这种方式修改我的 /etc/paths 是否有任何潜在的副作用?
  • @Elliot,很抱歉不确定。
【解决方案3】:

似乎在 2021 年年中,所有答案都已过时(甚至是我的!),所以这是我的新答案:

brew install git-gui || brew upgrade git-gui
git gui || /usr/local/opt/git/bin/git gui

旧答案:似乎在 2017 年末,上述所有答案都已过时,所以这是我的新答案:

brew install git || brew upgrade git
git gui || /usr/local/opt/git/bin/git gui

【讨论】:

  • 就像下面的答案一样,gitgit-gui 现在是单独的包,但 git-gui 也将安装 gitk。我还需要ln -s /opt/homebrew/bin/git /usr/local/bin/,因为我的 Mac 拒绝使用新的 git 版本(此时为 2.33.1)
【解决方案4】:

2020

brew install git
brew install git-gui
git config --global --add alias.gui '!sh -c '/usr/local/opt/git/libexec/git-core/git-gui''

现在,享受吧:

git gui

【讨论】:

  • 感谢 2020 年更新。我不需要添加全局别名就可以按预期工作。 Brew 单独安装这两个公式就可以了。
  • 我只需要做brew install git-gui,它就开始工作了。
  • 确保路径与git-gui 的位置匹配。我的 gitk 和 git 不需要在 git config 中配置别名,尽管我将 homebrew 的 git 符号链接到我的本地 bin
【解决方案5】:

安装 Mountain Lion 后,您可能需要单独安装/升级 git-gui 包。
正如“Git GUI client for Linux”中提到的,git gui 有自己的包(git-core 旁边)。

从 cmets 看来,山狮似乎还没有 git-gui 包。
然而,this post 报告说让工作成为 另类 gui,例如 Source Tree
这可能是一个很好的解决方法。

【讨论】:

  • 我不知道如何在 Mac 中将其安装为单独的包。
  • 谢谢。但我已经这样做了,ML 不允许安装它,因为它不是来自经过验证的开发者。
  • @Victor 和关注 hongkiat.com/blog/mountain-lion-git-fix ,你会看到 git gui 包吗?
  • 修复了我之前做的 git 命令,之后 git gui 仍然无法工作。
  • @Victor 好的,所以这只是关于git-core,而不是git-gui 包。
【解决方案6】:

我也有同样的问题。 Git-gui 似乎仍然为我安装(/usr/local/git/libexec/git-core/git-gui 是我的位置),但如果不指定完整路径,它就不能正常工作。这表明存在路径问题,但我没有进一步研究。

编辑 尝试将 /usr/local/git/libexec/git-core 添加到 PATH 变量的开头。看起来所有的 git 二进制文件都在那里,所以应该可以工作。

【讨论】:

    【解决方案7】:

    添加到路径对我有用。

    我刚刚将这一行添加到我的 ~/.profile 并且 git gui 再次活跃。 &(%ing 山狮。 导出 PATH=PATH:/usr/local/git/libexec/git-core

    【讨论】:

    • '$'(美元符号)应该在 $PATH(像这样)前面'='(等号)的右侧
    【解决方案8】:

    除了上面维克多的回答,你还需要一个额外的步骤,因为 brew install git 没有为 git-gui 创建 simlink。

    在 /usr/local/bin 中,运行以下命令:

    ln -s ../Cellar/git/1.8.3.2/libexec/git-core/git-gui git-gui

    (用你自己的替换git版本)

    【讨论】:

      【解决方案9】:

      虽然我不确定如何从 Mountain Lion 的终端打开 git gui,但可以使用从 Finder 中打开 git gui 的 OpenInGitGUI 来使用它。下载和说明可在here 获得。

      这可能不如在终端中输入“git gui”那么方便,但它非常接近。基本上你需要做的就是输入'open'。在 Finder 中打开当前目录,然后单击 Git 按钮打开 git gui。

      【讨论】:

        猜你喜欢
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 2013-04-13
        • 1970-01-01
        • 2013-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多