GitUp:把提交历史画成图,还能无限撤销的 Mac 端 Git 客户端
【免费下载链接】GitUpThe Git interface you've been missing all your life has finally arrived.项目地址: https://gitcode.com/gh_mirrors/gi/GitUp
GitUp 是 macOS 上的 Git 客户端,把提交历史画成交互式图形界面。它主要解决两件事:分支交叉看不出所以然、改错了提交不敢动。适合刚用 Git 的新手,以及平时不太碰命令行的日常开发者。
改错 commit、分支看晕、rebase 卡住,都是它的靶心
- commit 写错信息,改完之后忘了同步远程。
- 分支交叉,历史乱成一团线,看不出谁领先谁。
- rebase(交互式变基:把一串提交重新应用到新基线上)做了一半,不敢 push。
这三件事,下面都能直接对着点完。
三种拿法:brew、镜像克隆、直接编译
| 途径 | 适合谁 | 操作 |
|---|---|---|
| Homebrew | 只想装上就用 | 一行brew install gitup-app |
| GitCode 镜像 + Xcode | 想编译运行、顺手看源码 | git clone --recursive https://gitcode.com/gh_mirrors/gi/GitUp,再open工程点击运行 |
- brew 包由社区维护,版本可能落后官方发布。
- 源码方式会拉取
libgit2子模块,--recursive不能省。 - 编译需要 Xcode,没有开发者账户的签名问题见下文避坑部分。
克隆仓库、打开提交图、撤销你的第一步
- 点 File 菜单里的 Clone from URL…,贴入 HTTPS 或 SSH 地址,选存放目录,勾选"递归克隆子模块"后确认。
- 克隆完成会自动打开仓库,默认就是 Map(交互式提交图):每个提交是节点,分支是彩色线条,改动后图形实时刷新,这就是 Git 可视化提交历史的主界面。
- 做一件小事,比如改一笔提交信息,然后点 Edit 菜单的 Undo。
GitUp 的撤销覆盖几乎所有操作,包括 rebase 和 merge。它还会在关键动作前自动打快照,像 Time Machine 一样支持一键回滚仓库。
改历史、合分支、一键回滚:三个高频操作路径
重排与拆分提交(Git 交互式 rebase 的图形化)
- 操作路径:Map 视图中右键提交,选 Edit Commits,拖拽节点重排,或选 Split Commit 拆开一笔提交。
- 注意:已经 push 过的提交,改完历史要强推,先想清楚影响面。
合并与解冲突(Git 合并冲突的图形化解法)
- 操作路径:右键任意提交,选 merge 到目标分支;出现冲突后在冲突解决视图里逐块选边。
- 注意:合并前确认目标分支工作区是干净的,冲突视图才好对照。
一键回滚到任意快照(Git 回滚仓库的最短路径)
- 操作路径:Repository 菜单选 Browse Snapshots…,点选时间点,一键回滚。
- 注意:回滚会丢弃之后的改动,先确认要停在哪个快照。
通道、签名与框架:进阶与个性化
- 偏好设置里可切换更新通道:Stable 只收正式发布,Continuous 收持续构建。
- 有开发者账户时,新建
Xcode-Configurations/DEVELOPMENT_TEAM.xcconfig,写入一行DEVELOPMENT_TEAM = 你的团队ID,即可正常签名编译。 - GitUp 本体是薄壳,核心在可复用的 GitUpKit 框架,UI 组件、撤销引擎、快照都在 GitUpKit 框架目录 里,适合照着搭自己的 Git 图形界面。
- 提交图渲染与交互实现在 GIMapViewController。
编译报签名错误、克隆后目录为空:两步解决
现象:Xcode 编译失败,报 code signing 错误。原因:没有绑定 Mac 应用签名身份的开发者账户。一步修复:删掉 Application 目标的 Code Signing Identity 构建设置,或按上面方式配好 DEVELOPMENT_TEAM。
现象:克隆后GitUpKit/Third-Party/libgit2目录是空的,或编译报缺文件。原因:漏了--recursive,子模块没拉下来。一步修复:在仓库目录执行git submodule update --init --recursive,或重新带参数克隆。
下一步
GitUp 是 Mac 上把 Git 可视化提交历史和 Git 撤销操作都收进一张图的 Git 图形界面。打开一个仓库,把你最怕做的那步操作做一遍,Undo 就在 Edit 菜单里。
【免费下载链接】GitUpThe Git interface you've been missing all your life has finally arrived.项目地址: https://gitcode.com/gh_mirrors/gi/GitUp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考