[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fcixokw8bo6uw":3},{"code":4,"message":5,"data":6,"timestamp":36},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":8,"age_days":13,"hn_threads":14,"one_liner":21,"summary_md":22,"topic":23,"github_topics":26,"license":30,"homepage":31,"updated_at":32,"history":33},"gitbutlerapp\u002Fgitbutler",8,"The GitButler version control client, backed by Git, powered by Tauri\u002FRust\u002FSvelte","Rust",21853,1035,1363,[15],{"id":16,"title":17,"points":18,"comments":19,"posted_at":20},39285039,"The GitButler version control client backed by Git, powered by Tauri\u002FRust\u002FSvelte",23,1,"2024-02-07","一个同时提供图形界面和命令行的 Git 客户端，用堆叠分支和并行分支替掉手动 rebase，适合同时推进多个改动的开发者。","如果你每天大量时间花在切分支、暂存和手工 rebase 上，并且希望桌面应用和命令行共用同一套引擎，这个项目值得试。它仍然读写普通的 Git 仓库，不需要把项目迁移到新的托管平台。\n\n## 解决什么问题\n\n你本来在做一项任务，忽然发现还需要改另一处，于是开始 stash、切分支，或者准备一个交互式 rebase。代码评审的反馈回来之后，又要修改一个已被后续提交依赖的 commit，接着就是一连串冲突处理才能推送。GitButler 把这项工作挪到了别处：你在侧边栏里把改动整理成不同分支，直接编辑或移动提交，工具会自动重排依赖它的后续工作。结果是，拆分分支和整理提交从一次完整的 rebase 会话变成几次点击或几条 `but` 命令。\n\n## 有什么不同\n\n核心机制是并行分支。它不是只有一个工作区，而是允许你同时保留多个分支上的改动，从而省掉大部分切分支和 stash 的来回。堆叠分支则是一个分支建立在另一个分支之上，修改下层 commit 会自动触发上层重排。冲突被当作一种正常状态：按文档说法，rebase 总是能完成，提交可以被标记为冲突并留到之后任意顺序解决，而不是卡住整个操作。\n\n这让它不只是一个更好看的 `git status`，而是把工作整理成历史之前的一种不同组织方式。拖动提交或用命令行命令即可完成取消提交、改提交信息、amend、移动、拆分和压缩，不需要交互式 rebase。撤销时间线会记录操作，可以在图形界面里撤销或回退，也可以在命令行的操作日志里查看。代价也很明确：你要接受 GitButler 的分支模型和术语，仍用原生 Git 的队友不会看到同样的心智图景；习惯直接操作索引的人也需要重新找到对应动作的位置。\n\n代码托管集成内置支持 GitHub、GitLab 和 Bitbucket，可以直接打开和更新 Pull Request、查看 CI 状态，不必再装别的工具。AI 功能是可选的辅助，用于生成提交信息、分支名和 PR 描述，还提供可安装的 hooks 或 skills 给各种 agent 系统，因此不会改变底层 Git 数据。README 说明命令行和图形界面共用同一个 Rust 后端，这对希望在终端和桌面得到一致行为的人很重要。\n\n## 谁值得试\n\n适合经常在同一个仓库里同时维护两三个相关改动、并希望在评审前拆分、重排或修改提交，但不想背 rebase 命令的人。也适合想在同一个客户端里完成本地分支操作和 GitHub\u002FGitLab Pull Request 的人。不适合要求所有成员只用标准 Git 命令、且操作方式必须完全一致的团队，因为仓库本身仍是 Git，但分支模型是 GitButler 自己的。工作流基本是单分支、提交后推送的人，加上这一层整理并不会得到多少收益。\n\n## 使用条件与边界\n\n图形界面需要安装桌面应用，下载入口在项目的[下载页](https:\u002F\u002Fgitbutler.com\u002Fdownloads)；偏好终端则使用 `but` 命令行。两者都作用于已有的 Git 仓库，项目把它描述为可直接替换的界面，而不是新的仓库格式。具体配置在项目文档中，实际准备成本主要是先读懂分支和冲突模型，再去整理真实工作。\n\n日常维护主要集中在分支模型和托管平台连接上。代码托管集成需要登录 GitHub、GitLab 或 Bitbucket，AI 辅助是可选功能，正常使用并不依赖它。撤销时间线会记录操作以便回退，但这是工作流辅助，不能替代你在把分支分享给协作者之前理解重排结果。许可证是 Fair Source，限制用它构建竞品，两年后转为 MIT，如果打算再分发或嵌入代码，需要留意这一点。\n\n## HotRepo 点评\n\nHotRepo 唯一有日期的观测是 2026-10-25：该项目当天出现在每日榜单上，有 21,849 颗星，当日增加 8 颗；仅凭这一次快照，无法判断关注度是在上升、下降还是持续。更有用的问题是，堆叠分支和并行分支的方式是否贴合你现有的工作习惯。做决定前可先读[分支管理文档](https:\u002F\u002Fdocs.gitbutler.com\u002Ffeatures\u002Fbranch-management\u002Fstacked-branches)和[冲突行为说明](https:\u002F\u002Fdocs.gitbutler.com\u002Foverview#conflicting-branches)，并确认命令行与你团队对 Git 的预期一致。",{"slug":24,"name":25},"developer-tools","开发工具",[27,28,29],"git","github","tauri","NOASSERTION","https:\u002F\u002Fgitbutler.com","2026-10-25T11:05:29Z",[34],{"date":35,"stars":11,"stars_gained":8},"2026-10-25",1792968062]