用途:该技能帮助用户在 GitButler CLI(but 命令)的工作区模式下进行版本控制操作,包括提交、推送、创建分支、暂存文件、编辑历史与拉取更新,主要面向 AI 代理会话中的代码变更流程。
主要能力:支持多栈并行工作区模型,可同时维护多个分支栈;提供 but status、but commit、but branch new、but push、but pr new、but absorb、but squash、but rub、but resolve 等命令;所有命令可加 --json 输出结构化结果,便于代理解析。
使用方式:安装命令为 curl -sSL https://gitbutler.com/install.sh | sh,随后执行 but setup 初始化仓库,but skill install --path <path> 安装或更新技能。典型流程为先 but pull 同步,再 but status --json 查看状态,用 but branch new <name> 建分支,编辑后通过 but status --json 获取文件或 hunk 的 CLI ID,再用 but commit <branch> -m "message" --changes <id>,<id> 提交,最后 but push 或 but pr new 推送并创建 PR。分支命名建议使用 feat/、fix/、chore/、refactor/ 前缀。
适用场景:适合需要多分支并行开发、频繁小步提交、历史整理与 PR 创建的代理工作流,尤其适合多代理协作环境。
限制:GitButler 与传统 Git 不同,不应使用 git status、git commit、git checkout,只读 git 命令可用;不得丢弃非本会话创建的更改,zz 未分配区可能含他人工作;不得改写、重命名或推送非本会话创建的分支;but config target 需先 unapply 所有分支;but pr new 无 --base 参数;but config forge auth 为交互式,无法在非交互代理模式运行;部分操作存在已知问题与变通方法,如合并后需先 but unapply 再 but pull,否则出现孤儿分支错误。具体命令语法与完整选项见参考资料。