
多分支并行开发不再切换上下文Muxy的Git Worktree管理完全指南【免费下载链接】muxyLightweight and Memory efficient terminal for Mac built with SwiftUI and libghostty项目地址: https://gitcode.com/gh_mirrors/muxy1/muxy如果你经常需要在多个分支之间反复git checkoutMuxy 的 Git Worktree 管理功能可以帮你彻底告别这种低效操作。Muxy 是一款基于 SwiftUI 和 libghostty 构建的轻量级 macOS 终端它将 Git Worktree 做成了一等公民在侧边栏直接创建、切换、管理多分支工作副本配合路径模板和生命周期钩子让并行开发变得异常顺滑 为什么需要 Git Worktree传统的工作流是一个仓库、一个工作目录换分支就要git checkout未提交的改动还得先 stash。而Git Worktree允许同一个仓库同时检出多个分支到不同的目录每个目录有独立的文件树却共享同一个.git对象库。用 Muxy 管理 Worktree 后你的典型工作流会变成 每个分支一个独立目录互不干扰️ 每个 Worktree 拥有自己的一套终端标签页和工作区⚡ 在侧边栏一键切换分支上下文无需 stash、无需重开项目在侧边栏中管理 WorktreeMuxy 把 Worktree 作为与项目同级的概念展示在侧边栏中打开侧边栏⌘B或View → Toggle Sidebar在项目行上操作创建新的 Worktree或点击已有 Worktree 切换上下文每个 Worktree 会显示分支名、路径和活跃状态主工作区primary worktree不可被移除侧边栏布局还内置了专门的分组选项。在Settings → Appearance → Sidebar中选择Tab Focused或Agents Focused布局后会出现Nest worktrees inside projects将 Worktree 嵌套在项目内的开关默认关闭。开启后所有 Worktree 会收纳到对应项目之下目录结构更清晰。这些行为由 WorktreeStore.swift 和 GitWorktreeService.swift 实现数据模型定义在 Worktree.swift 中。一键创建 Worktree模板与目录Muxy 允许你在Settings → Projects → Worktrees中设置默认落盘方式支持两种模式1. 路径模板Template模板必须包含{branch}还可以使用变量含义{branch}分支名路径分隔符会被自动替换{project-name}Muxy 中显示的项目名{base-dir}当前检出目录名相对路径从项目目录开始解析。例如项目在/code/my-app分支为feature/auth模板../{base-dir}.{branch}会解析为/code/my-app.feature-auth。2. 固定目录Folder全局目录会把 Worktree 存到folder/project-name/worktree-name而在新建 Worktree 对话框中单独选择的目录则存到folder/worktree-name。项目级设置始终优先于全局设置。完整说明见 docs/user-guide/settings.md 的Worktree path templates一节。用 Muxy CLI 脚本化操作 Worktree除了图形界面Muxy 还提供命令行工具方便脚本化和远程操作。安装方式菜单Muxy → Install CLI会在/usr/local/bin写入muxy包装脚本。常用命令# 列出当前项目的全部 worktree muxy list-worktrees My App # 按分支名 / 名称 / 路径 / ID 切换 muxy switch-worktree feature/login # 创建并切换到新 worktree默认新建同名分支 muxy create-worktree login --branch feature/login --base main # 检出已有分支 muxy create-worktree hotfix --existing --branch release/1.2 # 从 Git 刷新 worktree 列表 muxy refresh-worktrees所有命令都支持--project和--worktree参数来指定目标split-right、new-tab等窗口命令也能直接作用于其他 Worktree 的工作区做到人在此处、操作在那。详细文档见 docs/features/muxy-cli.md。生命周期钩子自动装依赖、清理环境每个 Worktree 的依赖安装和清理可以完全自动化。在项目根目录的.muxy/worktree.json中声明 setup / teardown 命令项目级或写在~/.config/muxy/worktree.json本机级跨项目共享{ setup: [ docker compose up -d, { name: Install dependencies, command: pnpm install } ], teardown: [ docker compose down ] }机制要点⚙️创建时setup 命令在 Worktree 创建并注册后执行且需要你在新建对话框中显式勾选启用一条命令失败会停止后续 setup但不会回滚已创建的 Worktree删除前teardown 按项目级 → 本机级的逆序执行若删除时检测到未提交改动会拒绝移除保证你的代码不丢每条命令都以 Worktree 目录为工作目录运行并注入MUXY_PROJECT_PATH、MUXY_WORKTREE_BRANCH等环境变量远程或外部托管的 Worktree 不执行本地钩子安全删除与清理删除 Worktree 时Muxy 会先检查未提交改动存在改动则阻止删除确认对话框中会列出全部 teardown 命令你批准的是当前显示的命令若配置文件在执行前被改动删除会中止。相关实现可参考 WorktreeTeardownRunner.swift。对于侧边栏中积累的僵尸 Worktree还可以用muxy refresh-worktrees从 Git 侧同步真实状态自动清理已失效的条目。进阶扩展 API 中的 WorktreeMuxy 的扩展系统也完整开放了 Git Worktree 能力docs/extensions/git.md 中列出了worktree.add、worktree.remove、worktree.switchTo等方法与 App 侧边栏和移动端共用同一个 Git 内核因此任何一侧的改动都会实时反映到另一侧。常见问题速查 问题处理方式Worktree 不显示确认项目开启了 Worktree 展示worktreesEnabled用muxy refresh-worktrees刷新删除被拒绝先提交或暂存改动检查 teardown 钩子是否报错想调整目录结构修改Settings → Projects → Worktrees的路径模板Worktree 内终端空白参考 docs/user-guide/troubleshooting.md 的终端排查章节总结Muxy 把 Git Worktree 的完整生命周期——创建、定位、切换、自动化配置、安全删除——都收敛进了侧边栏、设置面板和 CLI 三套入口多分支并行开发不再意味着反复切换上下文。从 docs/user-guide/settings.md 入手配置你的第一个路径模板再用一条muxy create-worktree命令体验并行开发的效率提升只需要几分钟 ⏱️【免费下载链接】muxyLightweight and Memory efficient terminal for Mac built with SwiftUI and libghostty项目地址: https://gitcode.com/gh_mirrors/muxy1/muxy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考