资讯详情

资讯详情

拖拽提交完成变基: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),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →