如何用 GitButler but move 命令把已有分支堆叠(stack)到另一个分支之上或解除堆叠

发布时间:2026/11/11 15:48:39

如何用 GitButler but move 命令把已有分支堆叠(stack)到另一个分支之上或解除堆叠 如何用 GitButler but move 命令把已有分支堆叠stack到另一个分支之上或解除堆叠【免费下载链接】gitbutlerThe GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte项目地址: https://gitcode.com/GitHub_Trending/gi/gitbutler当你有两个已经存在的分支其中一个是建立在另一个之上的代码比如前端功能依赖后端接口GitButler 的but move命令可以直接把这个分支堆叠stack到依赖分支之上反过来用--unstack参数就能把分支从堆叠中拆出来恢复成独立分支。整个过程不需要git rebase --onto也不需要删除分支重建。适用前提仓库中已经安装 GitButler CLIbut并且当前仓库已经用but setup转换成了 GitButler 管理的 workspace普通 Git 仓库用 but setup 初始化worktree 内无法运行but setup。两个分支必须都已存在——如果子分支还不存在应该用but branch new name --above parent直接创建而不是move。先确认两个分支当前的 stack 归属在动手前用but status查看分支、stack 和提交的全局状态but status输出里每个 stack 单独列出每行第一个 token 是该行的 CLI ID。下面这段输出是 workflow examples 中文档示例# Stack 1: feature/backend (bu) — 2 commits # Stack 2: feature/frontend (bv) — 1 commit看到两个分支各自处于独立的 stack 中就可以执行堆叠。注意两点but status显示的短 ID如bu、bv只在当前 workspace 快照内有效做move这类写操作时必须用完整分支名短 ID 只适合即时只读查看。分支上带有(merged upstream)标记说明该分支已 land合入上游move等写操作会拒绝操作已 land 的分支和提交需要先but pull清理或换分支。把已有分支堆叠到另一个分支之上命令形式是but move 子分支全名 --above 父分支全名让子分支依赖父分支but move feature/frontend --above feature/backend这会把feature/frontend整个分支移到feature/backend之上两个分支进入同一个 stack。对应 concepts 中的模型main ── feature/backend ── feature/frontend (base) (stacked)执行后用but status验证文档示例的输出为# Stack 1: feature/backend → feature/frontend (stacked)即两个分支从两个独立 stack 合并进同一个 stackfeature/frontend排在feature/backend之上。验证通过后可以继续正常开发提交时用完整分支名指定目标but commit -b feature/backend -m Add caching layer file-id but commit -b feature/frontend -m Add dialog component file-idfile-id从but diff或but status -fv的当前输出中复制不要手写。与创建新堆叠分支的区别分支已存在but move branch --above parent-branch本文场景。分支不存在but branch new name --above parent-branch只有子分支还没建时用它。文档明确警告不要用uncommitbranch deletebranch new --above的组合来模拟堆叠——git 分支名在删除后仍会残留而且这条路径会丢失工作成果也不要用but undo来解除堆叠正确方式见下一节。解除堆叠把分支从 stack 上拆下来当两个分支不再需要互相依赖例如后端已合入 main前端可以独立存在用--unstack把分支拆下来but move feature/frontend --unstack命令成功时的输出形如来自 move 命令测试快照 的文档示例其中C是测试分支名Unstacked branch C再跑一次but status验证拆下来的分支成为独立的 stack其余分支保持在原 stack 中。测试快照中的文档示例如下三分支 stack 拆掉顶部C之后╭┄ g0 [B] ● wwm add B │ ├┄ h0 [A] ● tpm add A ├╯ │ ╭┄ i0 [C] ● wlx add C ├╯也就是说C单独成了一个 stackA → B仍是同一个 stack。--unstack不带参数写成but move --unstack branch与but move branch --unstack等价。参数边界与容易踩的限制目标参数只有一个--above、--below、--branch、--unstack四选一且必填。对分支branch这个 source 而言只有--above和--unstack适用--below和无值--branch只接受 commit 或已提交变更作为 source。一次只能 move 一个分支but move A B --unstack这类多分支写法是错误。无值--branch等价于--unstackbut move branch --branch会把该分支拆成独立 stack。but move的另一个常见用法是重排提交but move commit-id --below commit-id用的是 commit ID 而不是分支名。分支堆叠用分支全名提交重排用 commit ID两者不要混。如果but commit报 Cannot commit: N changes could not be applied说明变更依赖了另一个分支的提交且该分支不在同一 stack 中错误信息的 Hint 会给出精确的恢复命令but move your-branch --above dependency-branch执行后重试原提交即可。移动后出现冲突或需要推送时move属于历史编辑操作可能产生冲突冲突不会中断操作rebase 总会完成发生冲突的提交会在输出和but status中标记为{conflicted}。此时按 oldest-first 逐个处理but resolve commit-id进入解析模式、编辑文件去掉全部冲突标记、but resolve finish收尾解析期间禁止git add、git commit等 git 写命令只能用but resolve系列命令加直接编辑文件。堆叠关系确定后发布整条 stack只需选顶层分支推送一次but push会连带推送其祖先分支不要逐分支循环but push feature/frontend创建 PR 同理对顶层分支执行but pr new feature/frontend -tGitButler 会自动推送祖先分支并设置正确的 PR base 和 stack 元信息用gh pr create会丢失这套 stack 行为。更多命令细节可查仓库内的 reference.mdbut move一节和 SKILL.mdStack existing branches 一节也可以直接运行but skill reference查看与当前二进制一致的命令参考。【免费下载链接】gitbutlerThe GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte项目地址: https://gitcode.com/GitHub_Trending/gi/gitbutler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/8 6:54:21

交管12123模拟器开发:像素级还原与动态表单技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/8 9:25:51

Modbus协议逆向与工控安全取证实战指南

搞工控的人,天然会对Modbus有感情。这门上世纪70年代末诞生的协议,到今天依然是PLC、仪表、传感器之间通信的“通用语”。可正因为太老、太开放,它也成了工控安全取证里绕不开的焦点:一旦现场控制系统被入侵、PLC被篡改、上位机被…

2026/11/11 15:44:47

惠州电工证报考内部消息:实操考试考什么?别再交冤枉钱

惠州电工证报考内部消息:实操考试考什么?别再交冤枉钱 怕考不过白交培训费?惠州电工证报考的实操考试到底考什么?很多学员在报名前都存在这种焦虑,尤其是那些在建筑工地、工厂一线打拼的电工,稍有不慎就可能花冤枉钱,最后还拿不到证书。今天就来聊一聊…

2026/11/11 15:44:47

特种作业证培训考试群有效期多久多少钱

特种作业证培训考试群有效期多久多少钱 工地太忙根本没时间复习考试,这几乎是每个一线工友的共同心声。你每天穿梭在钢筋水泥之间,根本没有多余的时间去系统复习,更别提还要参加考试了。但如果你是从事特种作业的人员, 特种作业证培训考试群…

2026/11/11 15:44:47

报考电工证的流程保姆级教程:零基础也能快速上岗

报考电工证的流程保姆级教程:零基础也能快速上岗 你是不是还在为找不到电工工作发愁?是不是听说现在电工证成了刚需,但不知道怎么考?别急,这篇文章就是 保姆级教程 ,帮你一步步解决“ 急需特种作业证才能上岗找工作…

2026/11/11 15:44:47

常宁电工证在哪里查询 2026河南最新政策你知道吗

常宁电工证在哪里查询 2026河南最新政策你知道吗 证书过期了不知道怎么复审延期,是不是你正在经历的困境?现在不少电工从业者都面临类似问题,尤其是在2026年河南最新政策实施后,很多电工证的复审流程和要求发生了变化。如果你手里拿着常宁电工证…

2026/11/11 15:39:46

工地太忙根本没时间复习考试?电工证开始报名时间你必须知道

工地太忙根本没时间复习考试?电工证开始报名时间你必须知道 工地太忙根本没时间复习考试,这是很多一线工友的真实写照。尤其是在像驻马店这样的城市,工程类毕业生刚入行,面对繁重的项目任务和有限的空闲时间,想考个电工证似乎成了“奢侈品”。不过,电工…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/10 20:08:15

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑