问题
使用 Zed 编辑器 Git 集成的开发者,在提交时只能按整个 hunk 暂存或取消暂存,无法精确到单行。有人明确提出希望“stage or unstage individual lines when committing, not just whole hunks”,并指出这需要直接更新 git index 而不仅是编辑器 UI。另有开发者遇到 Zed 在 diff3/zdiff3 冲突样式下错误高亮合并冲突的问题,说明现有编辑器内 Git 工具在冲突场景的细节处理也不够可靠。
目标用户
重度使用 Git 的开发者,尤其是从 VS Code(自带行级暂存)迁移到 Zed 等新编辑器的用户。痛点真实但分散在单条 issue 上(143 和 151 的互动分),属于小众但明确的需求,市场规模有限。
解决方案
做一个独立的行级暂存工具(CLI 或编辑器插件形式),核心功能:
- 行级暂存/取消暂存:按 +/- 键选择单行或多行,直接写入 git index
- 部分暂存 hunk 的 diff 渲染:正确显示已被部分暂存的 hunk,避免视觉错乱
- 冲突高亮修复:支持 diff3/zdiff3 冲突样式的正确解析与高亮
- 跨编辑器适配:不绑定单一编辑器,CLI 或 LSP 形式可服务 Zed、Neovim 等用户 AI 在其中作用有限,主要靠对 git 底层 index 机制的工程实现,而非模型能力。
MVP 范围
第一版做一个 CLI 工具:在终端中以交互式 diff 界面展示未暂存改动,支持行级选择暂存并写入 git index,正确渲染部分暂存后的 hunk。不做编辑器深度集成、不做冲突解决自动化、不做多人协作功能。
风险
- 上游依赖风险高:核心需求是 Zed 编辑器的功能缺口,Zed 官方随时可能自己实现行级暂存,使独立工具失去存在意义
- 付费意愿低:两条 issue 均显示 willingness_to_pay 为 none,开发者工具领域免费替代品多
- 竞争激烈:git 自身、magit、lazygit 等成熟 TUI 工具已部分覆盖此场景
- 技术细节深:直接操作 git index、正确渲染部分暂存 hunk 需要深入理解 git 内部机制,实现门槛不低
已有产品
信号证据
这张卡片依据的原始讨论。摘录保持原文,点“原文”查看上下文。
GitHub Issues · zed-industries/zed12月18日功能请求▲ 14312 条评论
“**Update the git index directly** — When staging or unstaging a line, we need to update the actual git index, not just the Zed UI.”
Zed users want to stage or unstage individual lines when committing, not just whole hunks.原文
GitHub Issues · zed-industries/zed7月21日投资方向▲ 15113 条评论
“Incorrect merge conflict highlight for diff3/zdiff3.”
Zed's Git integration incorrectly highlights merge conflicts when the diff3/zdiff3 conflict style is configured.原文