拖拽提交完成变基:GitUp,一款实用的 Mac Git 客户端

发布时间:2026/11/4 22:15:35

拖拽提交完成变基:GitUp,一款实用的 Mac Git 客户端 拖拽提交完成变基:GitUp,一款实用的 Mac Git 客户端【免费下载链接】GitUpThe Git interface youve been missing all your life has finally arrived.项目地址: https://gitcode.com/gh_mirrors/gi/GitUp你盯着终端里那串git rebase -i HEAD~3愣了五秒——按哪个键能打开交互式编辑器,中途冒出冲突怎么办?在 Mac 上还有另一条路:GitUp 是一款原生 Git 客户端,同样的操作在仓库图谱上直接拖拽提交就能完成,不用碰任何参数。而git reset时敲错一个哈希,就没有回头路了——这是大多数依赖命令行的 Mac 开发者的日常。不是又一个命令行封装GitUp 是 Mac 上的原生 Git 客户端,但实现路径不一样:它不 shell 出去调 git 命令行,而是通过 libgit2 直接读写磁盘上的 Git 数据库,你操作的是仓库图谱本身,而不是参数。这个决定支撑了后面所有特性:活的交互式仓库图谱、无限次撤销重做,以及比命令行还快的响应速度。拖拽提交完成变基与重排GitUp 的主视图是一张全量历史仓库图谱(Map):每个提交是图上的节点,分支是彩色线条,所有操作都是拖拽加右键菜单。想让某个提交排到另一个前面?直接拖。想把两个提交压成一个?把其中一个拖到另一个上。后台由 GIMapViewController 负责把交换、压合、fixup、变基拆成一个个可回退的操作。操作完图谱立刻刷新,分支尖端挪到了哪一眼就能看到;真出现冲突,界面会直接告诉你是哪个文件撞上了。rebase -i那种先写命令再祈祷成功的玩法,变成了先看到图、确认没问题再执行。无限撤销与一键回滚到任意历史状态GitUp 里几乎所有操作都支持撤销/重做,包括 rebase 和 merge。它还有 Time Machine 式的快照机制:GCSnapshot 能记录整个仓库(HEAD、本地分支、标签)在某一刻的完整状态,一键就能回到那个状态。实际用下来最爽的是心态变化:做危险操作前不用先reset备份一个分支了,因为失误的成本只是一次 CmdZ。把一次提交拆成多次也不用离开屏幕它还有一个可视化提交拆分器:选一个内容混杂的提交,界面会让你按文件把它拆成多个提交——这是 Git 原生都不提供的操作。3 步跑起 GitUpgit clone --recursive https://gitcode.com/gh_mirrors/gi/GitUp克隆仓库,--recursive不能少,libgit2 依赖在子模块里;用 Xcode 打开GitUp/GitUp.xcodeproj;没有开发者账号就删掉 Application target 的 Code Signing Identity 设置,否则构建会失败;Run 起来,打开任意本地仓库,第一眼看到的就是全量历史 Map:提交是节点、分支是彩线,全部可拖拽,搜索框还能瞬间定位历史里任意一段 diff 内容。整个 App 只是 GitUpKit 框架上的一层薄壳,Examples/ 里有 4 个示例应用,几十行代码就能搭出你自己的 Git 界面。适合谁如果你的主力开发机是 Mac,每天提交超过 5 次,它值得放进 Dock——每次想敲rebase -i的时候,它都会给你一条更直观的路。如果你的 Git 操作 90% 发生在服务器上,命令行就够了。项目以 GPL v3 开源,核心能力全部在仓库里,想看哪个操作的实现细节,直接翻源码就行。【免费下载链接】GitUpThe Git interface youve been missing all your life has finally arrived.项目地址: https://gitcode.com/gh_mirrors/gi/GitUp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/4 22:15:35

shadPS4 到底能不能在 PC 上玩《血源诅咒》?先做 3 项自查

shadPS4 到底能不能在 PC 上玩《血源诅咒》?先做 3 项自查 【免费下载链接】shadPS4 PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C 项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4 shadPS4 是一个 C 编写的 Play…

2026/11/4 22:10:34

多接口线缆组件设计:硬件系统级工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 23:06:20

Audio学习9(AudioFlinger/HAL)

1 环境 这次主要是看看audio在安卓平台的实现,用是瑞芯微RK3568开发板。 本来是想还是用之前的WM8960模块,但是很无语发现它板子上的I2S接口并没有引出来。引出的口只有I2C,SPI,还有UART。 和之前用的WM8960比较一下:…

2026/11/4 23:06:20

记录系统即权力:智能体时代企业底座迁移与决策权再分配

【摘要】以a16z 2026年10月发布的万字分析为核心依据,梳理4轮计算范式下的权力转移规律,结合Databricks年化收入70亿美元、智能体日均启动1700万个数据库的行业样本,拆解记录系统三权重构的底层逻辑,明确3类可量化失效边界&#x…

2026/11/4 23:06:20

第十章 GPU 虚拟地址空间管理:10.9 本章小结

1. 本章小结 本章讨论了 GPU 虚拟地址空间的管理。与 CPU 内存管理对照可以看出,GPU 内存管理在结构上沿用了地址空间、后备存储、反向映射与回收的分层,差异来自四项约束: 管理单位是 BO 而不是页; 多数 GPU 不能在作业执行中从缺页恢复,映射必须预先建立; 页表写入与数…

2026/11/4 23:01:19

年底还在招的岗位,先确认缺口和到岗要求

十一月看到一个技术岗位,不要仅凭「年底还在招」判断机会好坏。先确认缺口是否明确、流程由谁推进、希望何时到岗。岗位发布时间只能说明页面上有这条信息,不能替你回答团队现在需要什么人。 准备跳槽的人往往同时安排项目收尾、面试和个人行程。如果岗位…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/4 12:38:23

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/4 21:04:25

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑