ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Worktrunk wt list输出符号表:一文看懂Git工作树的所有状态

Worktrunk wt list输出符号表:一文看懂Git工作树的所有状态 Worktrunk wt list输出符号表一文看懂Git工作树的所有状态【免费下载链接】worktrunkWorktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows项目地址: https://gitcode.com/GitHub_Trending/wo/worktrunkWorktrunk是一款专为并行 AI 智能体工作流设计的 Git 工作树worktree管理命令行工具。它的核心命令wt list会用一张紧凑的表格展示所有工作树的状态而真正让人头大的是那串 ! ? ↕ ↑ ↓ ⇡ ⇣之类的状态符号。这篇文章带你逐位拆解wt list的符号表7 个状态位置分别代表什么、优先级怎么排、哪些行代表可以安全删除。看完这篇 Git 工作树状态符号指南你扫一眼表格就知道每个分支处在什么状态。为什么要看懂 wt list 的符号表当你用 Worktrunk 同时跑 5~10 个 AI 智能体每个智能体一个工作树时你不可能每次都敲git status逐个检查。wt list把每个工作树压成一行把所有关键事实浓缩进一列两字符宽的Status里$ wt list Branch Status HEAD± main↕ main…± Remote⇅ Commit Age Message feature-api ↕⇡ 54 -5 ↑4 ↓1 234 -24 ⇡3 6814f02 30m Add API tests ^ main ^⇅ ⇡1 ⇣1 41ee083 4d Merge fix-auth: h… fix-auth ↕| ↑2 ↓1 25 -11 | b772e68 5h Add secure token… fix-typos _| | 41ee083 4d Merge fix-auth: h… ○ Showing 4 worktrees, 1 with changes, 2 ahead, hidden: Path只需记住一个规律Status 列从左到右有 7 个位置前 3 位描述工作区脏不脏后 4 位分别描述工作树属性、与默认分支的关系、与远程的关系最后一位是自定义标记。第 1 列左侧 Gutter 符号——你在哪表格最左侧的单独一列标记每行的物理存在从最强到最弱符号含义当前工作树你正站在这一行^主工作树仓库的家目录其他工作树/只有本地分支、没有工作树需--branches\|远程分支本地还没有需--remotesStatus 第 1~3 位工作区标志——脏不脏这 3 位是独立的布尔标志可以同时出现比如!?表示三种问题同时存在符号含义有已暂存staged的文件!有未暂存的修改?有未跟踪untracked的文件一行全空说明这个工作树的工作区是干净的。Status 第 4 位工作树状态——出什么事了这一位只会出现一个符号按优先级从高到低排列✘ ↻ ⊟ ⊞ ⊘ ⚑ /符号含义新手解读✘合并冲突有冲突要解决↻正在执行 git 操作rebase / merge / cherry-pick / revert / bisect等它跑完⊟工作树目录已丢失prunable需要清理⊞工作树被锁定防止被误删⊘Detached HEAD停在某个提交而非分支上此时 Branch 列显示短哈希⚑同一分支在多个工作树检出或路径与分支不匹配需要人工核对/该行是没有工作树的分支来自--branchesStatus 第 5 位与默认分支的关系——最核心的一列这一位回答我的分支和 main 差多远是决定能否合并、能否删除的关键符号含义该做什么^这一行就是主工作树—∅孤分支与默认分支没有共同祖先小心处理_与默认分支同一提交且工作区干净✅ 可安全删除⊂内容已通过其他方式并入默认分支如 squash 合并后历史不同✅ 可安全删除整行变暗✗合入默认分支会产生冲突本地用git merge-tree模拟得出需要先 rebase–与默认分支同一提交但有未提交修改先看改动↕与默认分支互相领先diverged需要 rebase 后再合并↑领先默认分支可以合并↓落后默认分支需要 rebase 小贴士凡是显示_或⊂的整行都会变暗——这是 Worktrunk 在提醒你这个工作树已经可以删了。Status 第 6 位与远程的关系——push 了吗这一位由ahead/behind两个计数推导而来没有上游时留空符号含义\|与远程完全同步⇡领先远程有提交还没 push⇣落后远程远程有新提交⇅与远程分叉既领先又落后Status 第 7 位你的自定义标记最后一位留给你或你的 AI 智能体用wt config state marker set 给分支挂一个标记通常是 emoji。它让脚本和智能体能用一行符号说明这个分支是干嘛的读取时对应 JSON 里的marker字段。另外表格加载过程中你会看到·占位符——它表示该列数据还在计算中或超时了几秒后就会填上真实符号。wt list采用骨架优先渲染分支名、路径、短哈希在约 50 毫秒内先出现状态符号随后台 git 操作完成逐个填充。进阶用 JSON 输出精确判断每个状态表格符号是压缩视图每个符号都对应wt list --formatjson里的一个结构化字段方便脚本精确过滤例如# 找出领先 main、需要合并的分支 wt list --formatjson | jq .items[] | select(.default_branch.ahead 0) | .branch # 找出已并入默认分支、可安全删除的分支 wt list --formatjson | jq .items[] | select(.display.state integrated or .display.state empty) | .branchJSON 中每个符号位对应独立字段工作区标志在worktree.changesstaged/modified/untracked/conflicted等布尔值分支关系在default_branch.ahead/behind远程关系在upstream.ahead/behind而压缩后的状态名就在display.stateahead、diverged、integrated……。符号表速查清单 位置符号一句话记忆Gutter^/\|我在哪行1~3!?工作区脏不脏可叠加4✘↻⊟⊞⊘⚑/工作树出什么事5^∅_⊂✗–↕↑↓离 main 多远、能否合并6\|⇡⇣⇅push 状态7emoji / 文本自定义标记相关源码与文档官方文档本表来源docs/public/list.md符号位定义与原子渲染规则7 个位置、5 道独立数据门src/commands/list/model/status_symbols.rslist命令的骨架优先渲染架构说明src/commands/list/CLAUDE.md状态列布局与自适应宽度src/commands/list/layout.rs掌握这张符号表后wt list就不再是一堆看不懂的字符而是一份每个工作树的健康档案看到 ↑⇡你知道有改动、领先 main、没 push看到_或⊂你就放心地清理它。【免费下载链接】worktrunkWorktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows项目地址: https://gitcode.com/GitHub_Trending/wo/worktrunk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表