Files
Netcatty/docs/research/terminal-compose-context/git-changes.md
T
Joseph Hau a8c69b8e11 docs: propose Context Chips for the terminal compose bar (#4059)
* docs: propose terminal compose bar Context Chips

* docs: fix Context Chips baseline and demo anchoring
2026-10-30 10:09:24 +08:00

2.4 KiB
Raw Blame History

Git Changes:变更统计与面板入口

日期:2026-10-29。状态:初步调研;详细变更面板暂不实现。

功能目标

在当前终端位于 Git 仓库时显示改动文件数与增删行。清洁状态可显示 ± 0;存在变化时展示如 3 files · +24 -8 的摘要。点击打开该仓库的变更文件面板是后续目标,本期只保留数据与动作边界。

Warp 参考行为

本机观察到清洁状态的 ± 0。官方说明变更芯片可显示文件数与增删行,点击打开 Code Review;面板默认位于右侧,可查看未提交变化,也支持与 main/master 或其他分支比较。尚未验证 staged、unstaged、未跟踪及二进制文件的实际计数。

拟议统计口径

  • 初步建议展示相对 HEAD 的未提交净变化,与“当前分支相对 main 的差异”分开。
  • 已暂存与未暂存变化不能简单相加,避免同一文件重复计数或抵消关系错误。
  • 分别保留文件数、增加行、删除行;重命名、二进制与未跟踪状态需要明确表达。
  • 二进制无法计行时不以 0 冒充无变化;没有统计能力或读取失败也不显示假 ± 0。
  • 统计查询按 repo/worktree 缓存,随 cwd、分支和文件变化刷新;详细 diff 在面板打开后单独加载。

以上是 Netcatty 的候选口径,需用受控文件改动核对后确定。

侧栏预留

统计模型至少区分比较基线、文件数、增删行、二进制和未跟踪状态。打开动作绑定 session、连接代次、repoRoot 和 worktreeRoot,例如 openChangesPanel(target);真正实现时接入现有终端侧栏布局,避免不同终端共用错误仓库。

面板未实现时不展示可点击的虚假入口。文件列表、diff 编辑、stage、revert、discard、commit 和分支比较交互不纳入当前统计功能。

待查清的行为

主题 问题
计数 HEAD/index/working tree 的关系,已暂存与未暂存抵消,空仓库
文件类型 rename、二进制、删除、未跟踪及忽略文件的计数与显示
刷新 外部编辑、切分支、切目录、大仓库性能、local/SSH 差异
点击 清洁状态是否可点击、比较基线选择、面板与芯片的同步

参考:Warp Code Review。共享分支上下文见 Git Branch,侧栏影响范围见 README。