在Mac上安装gitk


223

有人知道如何在Mac上安装gitk吗?

在他们的官方网站上,gitk似乎是git附带的,但是git version 1.7.12.4 (Apple Git-37)gitk却没有git()的版本。

brew install gitk 不适用于gitk。

版本信息(从评论中复制):

  • OS X 10.8.2(12C2034)“山狮”
  • XCode版本4.6(4H127)

1
您正在使用哪个版本的osx?在10.8.4上,我git version 1.8.2.1 (Apple Git-45)包括以下内容gitk
铸造厂

1
大约有不计其数的Git工具可在OS X上运行,为什么您gitk特别需要呢?此外,gitkHomebrew git中也包含该文件。
millimoose13年

1
@Mingyu:sourcetreeapp.com之一。
fjarri

2
GitX是一个非常不错的Git客户端。我在Linux上错过了它
rcomblen

1
如果您安装了SourceTree ...,它将附带它自己的打包副本git-并且它是其中包含的内部版本gitk,因此您可以为其创建别名并使用它。
阿德里安

Answers:


313

正确,1.7.12.4(Apple Git-37)并未随附gitk。您可以使用brew将git + git-ui的最新版本安装为单独的公式。更详尽的说明位于此处:http : //www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/ (请参阅此提交将git-gui / gitk提取到自己的公式中:https : //github.com/Homebrew/homebrew-core/commit/dfa3ccf1e7d3901e371b5140b935839ba9d8b706

在终端上运行以下命令:

brew update
brew install git
brew install git-gui

如果收到指示无法链接git的错误,则可能需要更改其提及的文件的权限/所有者。

完成后,运行:

type -a git

并确保它显示:

/usr/local/bin/git

如果不是,请运行:

brew doctor

并更改路径以将/ usr / local / bin放在路径前面。现在,gitk应该在您的路径上了(以及git的更新版本)。


1
我安装了git 1.8.3.4以使用brew。但是gitk有Bug。如果您签出分支并输入gitk --all,则可以看到未暂存的本地分支。键入git status后,未暂存的本地分支将不可见。有人经历过吗?
pebble8888

8
我进行了上述所有更新,但是git的版本没有更改-我必须已经拥有最新版本。但是现在我突然有了gitk!欢呼声
库巴

1
是的,与@Kuba一样,我现在神秘地拥有gitk!
relipse

2
可能需要重新启动终端会话。
veksen

@giovannipds是什么问题?
volvox

27

我只是遇到了同样的问题,并按如下方式解决了它:

  1. http://git-scm.com/download/mac下载适用于Mac的官方git软件包
  2. 安装软件包。这会将所有二进制文件放在/ usr / local / git / bin中。
  3. (可选)运行包含的脚本以使gitk在终端外部可访问
  4. 将/ usr / local / git / bin添加到PATH或使用别名(alias gitk='/usr/local/git/bin/gitk'

1
在〜/ .bash_profile文件中。添加:export PATH = / usr / local / bin:$ PATH或/ usr / local / git / bin路径。
Jinbom Heo 2015年

23

如果您已经通过自制软件安装了git,则可以进行升级:

$ type -a git
/usr/bin/git
$ brew upgrade git
$ type -a git
/usr/local/bin/git

在本地/ bin的将有gitk


3
这应该是公认的答案。另外,如果您一直在使用Mac OS X随附的系统git,则通过自制程序进行git新安装的顺序将改为:brew install git && which git哪个(没有双关语!)应该为您提供输出/usr/local/bin/git ...注意:我也高度推荐更新和刮第一,如:brew update ; brew doctor && brew install git && which git-或- brew update ; brew doctor && brew upgrade git && which git而不是...得到预期的/usr/local/bin/git(从输出which命令)。
likethesky 2014年

1
@giovannipds-做brew安装git。您 可能具有旧版本的Git。
yantaq


16

Git Mac版本没有提供,gitk但是如果 brew install git您可以立即访问gitk

我正在使用MAC sierra 10.12.5

编辑:这不再起作用,您必须安装 brew install git-gui


8

有两种方法可以解决此问题:

  1. Unix方式
  2. 自制方式

1. Unix方式:

四个简单步骤

  1. which git在终端中执行以了解git可执行文件的位置。打开该目录并gitkbin文件夹中找到。复制路径---通常/usr/local/git/bin
  2. bash_profile如果尚未创建,请创建。编辑,以在路径中~/.bash_profile添加本地git&的位置gitk。或者,只需复制以下示例中的复制粘贴即可。
  3. 注意如果您使用的是El Capitan或更高版本,并且出现未知的颜色名称“石灰”错误 --- gitk/usr/local/bin/gitk文本编辑器中的位置打开文件,则此步骤很重要lime在文件中找到所有提及的内容,并替换为"#99FF00"。在进行备份之前,请先进行备份。
  4. 重新加载bash:source ~/.bash_profile并运行gitk

样品bash_profile

# enabling gitk
export PATH=/usr/local/git/bin:$PATH

2. HomeBrew方式

注意 -以下大多数步骤可能需要sudo特权。

  • brew update
  • brew doctor
  • brew link git
  • 添加/usr/local/Cellar/git/2.4.0/bin到路径,然后重新加载bash并运行gitk
  • 还没有运气吗?更进一步处理。
  • 运行which git并观察git是否仍链接到/usr/bin/git
  • 如果是,则打开目录并找到二进制可执行文件。
  • 进行备份,可能以git.bak的名称保存并删除原始文件
  • 重新加载终端- source ~/.bash_profile

brew不需要sudo特权。brew安装过程本身需要sudo,但是它将在/ usr / local上打开权限,因此之后您将不需要sudo。如果需要sudo,或者选择只使brew与sudo一起使用(完全可以理解的决定),或者错过了安装过程中的步骤。
休·珀金斯

2

我最终要做的是:brew信息git

这给了我git被克隆到的信息:/usr/local/Cellar/git/1.9.0

所以我只添加了:/usr/local/Cellar/git/1.9.0/bin到我的PATH env变量的开头。

注意:我不知道如何使用自制软件...只是想快点做,因为我还有其他事情要做...这基本上让gitk为我运行,所以我现在坚持使用它。(虽然可能不是使用自制软件的方式)。


brew info git然后将它所在的路径添加到〜/ .profile中的PATH中,这对我
有用

2

如果您碰巧已经安装了Fink,那么这在Yosemite / OS X 10.10.5上对我有用:

fink install git

请注意,作为副作用,其他git命令也使用了由Fink安装的较新的git版本(2.5.1),而不是Apple的版本(2.3.2),该版本仍然存在但被我的$ PATH取代。



0

首先,您需要检查正在运行的git版本,安装了brew的版本应该在/ usr / local / bin / git上运行,您可以使用以下命令从终端上进行验证:

which git

如果git显示在另一个目录中,则需要从终端运行此命令以将其添加到路径中:

echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile

之后,您可以关闭并再次打开终端或运行:

source ~/.bash_profile

瞧!如果您在OSX Mavericks上运行,则可能需要安装XQuartz。


0

我在Mac 10.7.5的git版本1.7.12.4上遇到了相同的问题

当我运行gitk时出现错误:

"Error in startup script: expected version number but got "Git-37)"
    while executing
"package vcompare $git_version "1.6.6.2""
    invoked from within
"if {[package vcompare $git_version "1.6.6.2"] >= 0} {
    set show_notes "--show-notes"
}"
    (file "/usr/bin/gitk" line 11587)

当我查看gitk中的代码时,我看到了设置版本的行。

set git_version [join [lrange [split [lindex [exec git version] end] .] 0 2] .]

这以某种方式将git版本的结果解析Git-371.7.12.4

我只是将git_version行替换为:

set git_version "1.7.12.4"


0

如果像我一样,已经安装了SourceTree,但也想使用gitk,则可以使用SourceTree的嵌入式git随附的版本。

SourceTree的git版本(以及gitk)在这里:

对于Windows:

C:\Users\User\AppData\Local\Atlassian\SourceTree\git_local\bin\git.exe

or

%USERPROFILE%\AppData\Local\Atlassian\SourceTree\git_local\bin

对于Mac:

/Applications/SourceTree.app/Contents/Resources/git_local/bin

在该目录中,您将找到一个gitk可执行文件。

感谢@Adrian的评论使我意识到这一点。我认为值得单独发表作为答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.