用途:处理顺序依赖的分支关系,例如重构→API→前端,或把大功能拆成可逐段评审的代码块;不适用于相互独立的并行功能(应改用虚拟分支)。
主要能力:通过 anchor 机制建立栈式分支。创建基分支用 but branch new base-feature;创建依赖分支用 but branch new child-feature --anchor base-feature,短写为 -a。栈内每层基于父层,提交可跨层移动、压缩与拆分。
使用方式:用 but status 查看栈结构;用 but push 推送,用 but pr new 基于正确父分支创建 PR;也可用 git push 与 gh pr create 手动指定 --base/--head。冲突处理在 rebase 中按提交进行,用 but pull 更新基分支后,用 but status 查看冲突提交并逐个解决。重组可用 but squash、but rub <sha> <target-branch>;重组前建议 but oplog snapshot 留存快照。
适用场景:功能依赖链、重构序列、探索式开发后的事后整理(新建带 anchor 的分支、用 but rub 迁移提交、删除原分支)。
限制与注意:合并需自底向上按顺序进行,不可跳过栈层级;不宜堆叠无关功能;避免无充分理由建立 5 层以上深栈;创建依赖分支时务必指定 anchor。缺失信息:具体安装命令、收费与平台支持资料暂未提供。