news 2026/11/4 6:11:25

GitUp:把提交历史画成图,还能无限撤销的 Mac 端 Git 客户端

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GitUp:把提交历史画成图,还能无限撤销的 Mac 端 Git 客户端

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,没有开发者账户的签名问题见下文避坑部分。

克隆仓库、打开提交图、撤销你的第一步

  1. 点 File 菜单里的 Clone from URL…,贴入 HTTPS 或 SSH 地址,选存放目录,勾选"递归克隆子模块"后确认。
  2. 克隆完成会自动打开仓库,默认就是 Map(交互式提交图):每个提交是节点,分支是彩色线条,改动后图形实时刷新,这就是 Git 可视化提交历史的主界面。

  1. 做一件小事,比如改一笔提交信息,然后点 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/4 6:10:40

SAM 3 概念分割深度拆解:一句话如何把图里所有实例都切出来

SAM 3 概念分割深度拆解:一句话如何把图里所有实例都切出来 【免费下载链接】sam3 The repository provides code for running inference and finetuning with the Meta Segment Anything Model 3 (SAM 3), links for downloading the trained model checkpoints, a…

作者头像 李华
网站建设 2026/11/4 6:10:27

ESP32-C3 BSP 实操指南:从零配置到首次烧录 LED 闪烁

ESP32-C3 BSP 实操指南:从零配置到首次烧录 LED 闪烁 【免费下载链接】rt-thread RT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/ 项目地址: https://gitcode.com/gh_mirrors/rt/rt-thread 看…

作者头像 李华
网站建设 2026/11/4 6:07:14

FaceFusion 模型下载与离线部署实战:一条命令到跑通的 5 步闭环

FaceFusion 模型下载与离线部署实战:一条命令到跑通的 5 步闭环 【免费下载链接】facefusion Industry leading face manipulation platform 项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion FaceFusion 是一套命令行驱动的人脸处理平台&#…

作者头像 李华