ChatGPT解决这个技术问题 Extra ChatGPT

在 Mac 上安装 gitk

如何在 Mac 上安装 gitk?

从他们的官网看,好像是gitk自带的,但是我的git的版本(git version 1.7.12.4(Apple Git-37))并没有gitk自带。

brew install gitk 不适用于 gitk。

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

OS X v10.8.2 (12C2034) (山狮)

Xcode 版本 4.6 (4H127)

你用的是什么版本的osx?在 10.8.4 我有 git version 1.8.2.1 (Apple Git-45),其中包括 gitk
在 OS X 上运行的 Git 工具大约有数以万计,为什么您特别需要 gitk?此外,gitk 包含在 Homebrew git 中。
@Mingyu:sourcetreeapp.com,一个。
GitX 是一个非常不错的 Git 客户端。我在 Linux 上想念它
如果您安装了 SourceTree ...它附带了它自己的 git 打包副本 - 它是一个包含 gitk 的构建,因此您可以为其创建一个别名并使用它。

P
Peter Mortensen

正确,1.7.12.4(Apple Git-37)不附带 gitk。您可以使用 Homebrew(可执行 brew)将更新版本的 Git + git-ui 作为单独的公式安装。更详尽的说明位于 The fastest and easiest way to install Ruby on a Mac in 2022(请参阅此提交,将 git-gui/gitk 提取到自己的公式中:git-gui: split from git formula.

在终端运行以下命令:

brew update
brew install git
brew install git-gui

如果您收到一个错误,表明它无法链接 Git,那么您可能需要更改它提到的文件的权限/所有者。

完成后,运行:

type -a git

并确保它显示:

/usr/local/bin/git

如果没有,请运行:

brew doctor

并更改路径以将 /usr/local/bin 更早地放在路径中。现在,gitk 应该在您的路径上(以及更新版本的 Git)。


我安装了 git 1.8.3.4 来使用 brew。但是gitk有Bug。如果您签出分支并输入 gitk --all,则可以看到未暂存的本地分支。输入 git status 后,未暂存的本地分支不可见。有没有人体验过?
我完成了上述所有更新,但 git 的版本没有改变——我一定已经有了最新的版本。但是现在我突然有了 gitk!欢呼
是的,与@Kuba 一样,我现在神秘地有了 gitk!
可能需要重新启动终端会话。
@giovannipds 有什么问题?
P
Peter Mortensen

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

我正在使用 macOS v10.12.5 (Sierra)。

但这停止了工作。您必须安装 brew install git-gui


什么版本的 Git?工作和不工作。
P
Peter Mortensen

我刚刚遇到同样的问题并解决如下:

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


在 ~/.bash_profile 文件中。添加:export PATH=/usr/local/bin:$PATH 或 /usr/local/git/bin 路径。
P
Peter Mortensen

如果你已经通过 Homebrew 安装了 Git,你可以升级:

type -a git
brew upgrade git
type -a git

输出

/usr/bin/git /usr/local/bin/git

local/bin 的那个会有 gitk。


这应该是公认的答案。此外,如果您一直在使用 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 输出(来自 { 6} 命令)。
@giovannipds - 做 brew install git 。你可能有旧版本的 Git。
P
Peter Mortensen

macOS v10.15.6 (Catalina) 开始,我运行:

brew install git
brew install git-gui

它对我有用。


MAC的FTU。谢谢你的酿造。我猜它值得安装。
“FTU”可能是 FYI 的(双重)错字。
P
Peter Mortensen

我遇到过同样的问题。我安装了 GitX。

你可以从这里安装 GitX:

http://rowanj.github.io/gitx/

下载软件包并安装它。之后,从 Spotlight 搜索中打开 gitk,转到左上角。单击 GitX 并启用终端使用。

转到您的存储库并只需键入:

gitx --all

它将打开 GUI。

User manual


“GitX,一个早已失效的 Git 版本控制系统 GUI”。那正确吗?
P
Peter Mortensen

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

Unix 方式(简单且推荐) Homebrew 方式

1. Unix方式:简单四步

在终端中执行 which git 以了解您的 git 可执行文件的位置。打开该目录并在 bin 文件夹中找到 gitk。复制路径 --- 通常是 /usr/local/git/bin 编辑您的 ~/.bash_profile 文件以在路径中添加本地 git 和 gitk 的位置,或者简单地从下面编写的示例中复制粘贴。

示例 bash_profile

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

如果您没有 bash_profile 文件并想了解如何创建文件,那么 click here

如果您使用的是 OS X v10.11 (El Capitan) 或更高版本,并且遇到未知颜色名称“lime”错误,则此步骤是相关的。找到 gitk 可执行文件(通常在 /usr/local/bin/gitk),进行备份并在文本编辑器中打开它。查找文件中所有出现的石灰并将其替换为“#99FF00”。重新加载 Bash:source ~/.bash_profile

现在,运行 gitk

2.自制方式

更新 - 如果您的 Mac 上没有 homebrew,请先安装它。它可能需要 sudo 权限。

酿造更新

冲泡医生

酿造链接 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 一起使用(完全可以理解的决定),要么您错过了安装过程中的一个步骤。
是的,我知道这一点。 TBH gitk 不工作是一个非常烦人的问题&未能启动它,因为他们在某个随机步骤中忘记了 sudo,这是我希望任何阅读本文的人所面临的最后一件事。我写它是为了安全起见(虽然,sudo 不是)。
P
Peter Mortensen

您还可以通过 MacPortsgit 获得 gitk

sudo port install git

现在删除的“答案”警告不要使用 sudo。为什么有必要?
P
Peter Mortensen

对于 macOS v10.14 (Mojave) 用户,我找到了 this page very useful,尤其是这个建议:

/usr/bin/wish $(which gitk)

...没有它,窗口无法正确显示!


P
Peter Mortensen

我最终做了brew info git

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

所以我只是在我的 PATH 环境变量的开头添加了:/usr/local/Cellar/git/1.9.0/bin。

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


brew info git,然后将它所在的路径添加到 ~/.profile 中的 PATH 对我有用 (y)
P
Peter Mortensen

如果你碰巧已经安装了 Fink,这对我在 OS X v10.10.5 (Yosemite) 上有用:

fink install git

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


P
Peter Mortensen

首先,您需要检查您正在运行的 Git 版本。与 Homebrew 一起安装的应该在 /usr/local/bin/git 上运行。您可以使用以下命令从终端验证这一点:

which git

如果 Git 出现在不同的目录中,您需要从终端运行它以将其添加到您的路径中:

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

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

source ~/.bash_profile

瞧!如果您在 OS X v10.9 (Mavericks) 上运行,您可能需要安装 XQuartz。


P
Peter Mortensen

如果像我一样,您已经安装了 Sourcetree,但也想使用 gitk,您可以使用 Sourcetree 的嵌入式 Git 版本附带的版本。

Sourcetree 的 version of 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 的the comment,它提醒了我这一点。


P
Peter Mortensen

我在使用 Git 版本 1.7.12.4 的 Mac 10.7.5 上遇到了同样的问题。

当我运行 gitk 时,我得到了一个错误:

“启动脚本错误:预期版本号,但得到”Git-37)”,同时执行“package vcompare $git_version”1.6.6.2“”从“if {[package vcompare $git_version”1.6.6.2“]> = 0中调用} { set show_notes "--show-notes" }" (文件 "/usr/bin/gitk" 第 11587 行)

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

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

这以某种方式将 git 版本 结果解析为 Git-37 而不是 1.7.12.4

我刚刚将 git_version 行替换为:

set git_version "1.7.12.4"