GitX:macOS 原生图形化 Git 客户端
面向 macOS 用户的原生图形化 Git 客户端,可视化完成暂存、提交与历史浏览。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v1.8
- 平台
- macOS
详细介绍
项目简介
GitX 是 macOS 上原生的 git 图形客户端。它历史悠久,多年来由不同维护者以多个分支和版本的形式维护;本 GitHub 组织与仓库旨在整合这些版本,并持续推进一个当前、通用、由社区维护的版本。


主要功能
- 提供暂存(Staging)视图与历史(History)视图,以可视化方式查看改动与提交历史。
- 支持 SHA-1 仓库的读写,引用存储可使用传统的 files 后端或 reftable 后端,包括 bare 仓库与 linked worktree。
- 支持
git refs migrate --ref-format=reftable。 - 当主仓库移动位置后,可修复 worktree 链接。
- 安装包同时提供
gitx命令行工具。
安装与使用
使用 Homebrew 安装:
brew install --cask gitx
该命令会为你的 Mac 选择对应构建,把 gitx 命令行工具放入 PATH,并可通过 brew upgrade 保持更新。
也可以从 Releases 页面下载最新版本,解压后移动到「应用程序」文件夹。Apple Silicon(M1、M2 处理器)请使用 arm64 版本。
从源码构建
在全新克隆的仓库中,首次构建(无论用 Xcode 还是命令行)前先运行 make bootstrap,它会检出子模块并构建应用所链接的 objective-git 和 libgit2 依赖;若中途因连接中断等原因停止,重新运行即可。
也可以直接用命令行构建运行,Makefile 封装了 CI 使用的命令:
make bootstrap run
make build
make unit-test
make dmg
make help
ARCH=x86_64 可选择 x86 构建。
签名(可选)
从 Xcode 或 make run 产生的 Debug 构建使用 ad-hoc 签名,无需额外配置。只有在开启 hardened runtime 的构建以及 make dmg-signed 时才需要用你自己的证书签名,此时需要在项目根目录放置 Git 忽略的 Dev.xcconfig 文件。
若还没有开发证书:打开 Xcode,在 Settings > Accounts 中添加 Apple ID,在账户设置中选中名字带 (Personal Team) 的团队,点击 Manage Certificates,若没有证书则点 + 添加 Apple Development,完成后关闭设置窗口。
随后运行 make Dev.xcconfig 会根据证书本身读取 team ID 与证书名并生成该文件(若信息缺失会提示)。它不会覆盖已存在的文件;续期证书后请运行 FORCE=1 scripts/make-dev-xcconfig.sh。如果钥匙串中存有多个团队的证书,可用 TEAM=YOUR_TEAM_ID make Dev.xcconfig 指定。
注意事项
- GitX 读写 SHA-1 仓库,打开 reftable 仓库不会转换其引用存储;不支持 SHA-256 仓库。
- GitX 的命令行操作需要在偏好设置中选择 Git 2.45 或更新版本。
- 依赖 ObjectiveGit 使用 libgit2 标签
v2.0.0-rc.1(包含原生 reftable 后端,libgit2 1.9.7 不含),更新子模块时请保留该标签。上游后端尚未实现引用事务与命名空间,因此 GitX 的 stash 变更通过 Git 可执行文件完成。 PBReftableRepositoryTests集成测试套件使用 Homebrew Git 或GITX_TEST_GIT指定的可执行文件创建真实的 reftable 测试数据;没有 Git 2.45+ 时会跳过(显式指定了无效路径则失败)。较新的 macOS 通过 Xcode Command Line Tools 自带足够新的 Git,较旧系统请先用git --version检查,必要时通过 Homebrew 安装新版 Git。- GitX 使用 GPL version 2 许可,详见仓库中的 COPYING 文件。
本作品整理自 GitHub 开源项目 gitx/gitx,原作者 @gitx。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v1.8当前版本
1.8:暂存的新增文件显示真实差异;主仓库移动后可修复 worktree 链接;支持 refs migrate 到 reftable;修复 rebase 后侧栏丢分支、Dock 拖入仓库、版本号显示过期等问题。
评论