Skip to content

会话开头的 git 状态更准了:2.1.321 修复「假干净」与暂存误判 ​

每次启动会话,Claude Code 都会把当前仓库的 git 状态快照交给 Claude,作为它理解「你手头有哪些改动」的起点。2.1.321 修了这份快照里的两个错误。

一、git status 失败时不再显示「干净」 ​

以前如果 git status 本身执行失败(比如仓库锁文件残留、权限问题、safe.directory 限制或 git 版本异常),Claude 拿到的状态会是工作区干净。

这会直接误导后续判断:Claude 可能以为没有未提交改动,放心地切分支、覆盖文件或建议 git checkout。

现在失败时状态会标注为不可用(unavailable),Claude 会知道需要自己再确认,而不是基于错误前提行动。

二、首个文件不再被误报为「已暂存」 ​

另一个问题更隐蔽:状态列表里的第一个文件,即使改动并未 git add,也会被显示成已暂存。这可能让 Claude 在写提交信息或判断要提交哪些文件时出错。2.1.321 已修正。

实用建议 ​

  • 会话开始后让 Claude 做 Git 操作前,可以先让它跑一次 git status 确认实际状态;
  • 如果经常看到状态「不可用」,在终端手动运行 git status,排查锁文件(.git/index.lock)或目录归属问题;
  • 涉及提交和推送的任务,保留权限确认,别把 git push 设成免确认。

小结 ​

这两处修复不需要任何配置。它们让 Claude 对仓库现状的「第一印象」更可靠,减少因为状态误判带来的错误 Git 操作。

Claude-cn.org,专注于 Claude Code 中文教程