在安装Git GUI后(例如Mountain Lion),它无法正常工作。

73

当我运行 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 gui 可以正常使用该 git,通常由 MacPorts 安装在 /opt/local/bin/git),但是这个问题会出现在 /usr/bin/git 上。因此,如果您观察到了报告的错误,则很可能 /usr/bin/ 出现在您的环境变量 PATH之前 /opt/local/bin(假设后者在 PATH 中)。要找出,请运行 which -a git。更新路径的一个方便的位置是文件 ~/.bashrc - 0 _
9个回答

104

编辑你的git配置文件,在别名(alias)部分添加一个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'


24
或者,您可以通过命令行完成此操作: git config --global --add alias.gui '!sh -c '/usr/local/git/libexec/git-core/git-gui'' (翻译为中文:) 要使用命令行执行此操作: git config --global --add alias.gui '!sh -c '/usr/local/git/libexec/git-core/git-gui'' - nofinator
4
$ git gui sh: /usr/local/git/libexec/git-core/git-gui: 没有那个文件或目录 fatal: 在扩展别名'gui'时出错:'sh -c /usr/local/git/libexec/git-core/git-gui': 没有那个文件或目录。提示信息显示找不到文件或目录"/usr/local/git/libexec/git-core/git-gui ",导致$ git gui命令无法执行。同时,也提到了在扩展别名'gui'时发生错误。 - Elliot
14
自从OS X Mavericks和git-1.8.3.4以来,brew安装git的路径有些微不同,包含一个“opt”:/usr/local/opt/git/libexec/git-core/git-gui。 - Roberto Tyley
那对我来说效果不是很好 - 例如,“git gui blame”无法带出blame GUI,只有通用的git-gui。 - Rob
1
在几个不同的工作站上,我一直在Linux Mint 18上遇到相同的错误消息。当从gitk菜单中启动git-gui时,该错误消息会打印到控制台。这是解决方法。当然,在Linux Mint上,git-gui的路径是不同的,但可以通过运行locate git-core/git-gui来确定该路径。以下是我的配置: [alias] gui = !sh -c '/usr/lib/git-core/git-gui' - BarryPye
显示剩余2条评论

30

这篇帖子: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不起作用:苹果在XCode 4.5命令行工具中删除了'git gui'命令吗?请参考这个解决方案。

苹果确实删除了“git gui”命令。 我决定使用Homebrew安装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

2
编辑您的 Git 配置 GUI = !sh -c '/usr/local/git/libexec/git-core/git-gui' - Drew
@Drew,我想使用你提出的解决方案,但是我无法使其工作。你能详细解释一下吗? - nemesisdesign
这在我的OS X 10.9 Mavericks上有效。以这种方式修改我的/ etc / paths是否有任何潜在的副作用? - Elliot
@Elliot,抱歉不确定那个。 - Victor

16

似乎在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)。 - Sandra

13

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

1
感谢2020年的更新。我不需要添加全局别名,它就能按预期工作。只需安装这两个配方即可。 - Grafluxe
4
我只需要执行 brew install git-gui 就可以正常工作。 - kamlesh
请确保路径与 git-gui 的位置匹配。我的 gitkgit 不需要在 git config 中配置别名,尽管我将 Homebrew 的 git 符号链接到了本地的 bin 目录下。 - Sandra

3
安装Mountain Lion之后,您可能需要单独安装/升级git-gui软件包。
如在“Git GUI client for Linux”中所述,git gui有自己的软件包(除了git-core)。

从评论中可以看出,Mountain Lion目前似乎还没有可用的git-gui软件包。
但是,这篇文章提到了使用其他GUI工具如Source Tree的解决方法。
这可能是一个不错的解决办法。

Source Tree App


我无法弄清楚如何在 Mac 上将其安装为单独的软件包。 - Victor
1
@Victor 在参考了 http://www.hongkiat.com/blog/mountain-lion-git-fix/ 之后,你能看到 git gui 软件包吗? - VonC
这修复了我之前执行的git命令,但是之后git gui仍然无法工作。 - Victor
你在截图中使用了不错的代码库! - knocte
因为它是Mono :) - knocte
显示剩余5条评论

1

对我来说,在路径中添加了这个东西。

我只是在我的~/.profile文件中添加了这一行,git gui又活过来了。该死的山狮。 export PATH=PATH:/usr/local/git/libexec/git-core


在等号的右侧,"$"符号应该放在$PATH前面(像这样)。 - TWright

1

我有相同的问题。Git-gui似乎仍然安装在我的电脑上(/usr/local/git/libexec/git-core/git-gui是其位置),但是没有指定完整路径就无法正常使用。这表明存在路径问题,但是我没有深入研究。

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


1
除了Victor上面的答案之外,您需要额外的步骤,因为brew install git没有为git-gui创建符号链接。
在/usr/local/bin内,运行以下命令: ln -s ../Cellar/git/1.8.3.2/libexec/git-core/git-gui git-gui
(将git版本替换为您自己的版本)

0

虽然我不确定如何在Mountain Lion中从终端打开git gui,但可以使用OpenInGitGUI从Finder中打开它。下载和说明可在此处找到。

这可能不像在终端中键入“git gui”那样方便,但非常接近。基本上,您只需要键入“open。”以在Finder中打开当前目录,然后单击Git按钮即可打开git gui。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接