浏览 AI 知识库

git status 怎么看:改代码前先确认工作区变更归属

接手一个已有改动的仓库,第一件事是看清工作区。逐个确认修改归属、生成文件和未跟踪文件,才能避免格式化或回退掉别人的工作。

沿完整工作流推进

前一阶段的可检查结果,是下一阶段的输入;中间证据不足时停在当前阶段。

  1. 01git status 里的 23 个文件,不能默认都属于这次任务
  2. 02先确认这次任务的起点、边界和交付
  3. 03从“读取规则和分支”走到“限制后续编辑”
  4. 04先把用户已有改动、生成物和本次范围分成三张表
  5. 05完成后的变更归属清单与安全起点
沿一件真实任务走到底

git status 里的 23 个文件,不能默认都属于这次任务

接手项目时 `git status` 有 23 个修改文件。Agent 如果先格式化或恢复,很可能覆盖用户尚未提交的工作;如果全部当成本任务,又无法交付清晰 diff。

  • staged/unstaged/untracked 已区分
  • 每项变更有归属或未知标签
  • 没有执行破坏性恢复命令
本例材料

先确认这次任务的起点、边界和交付

需要确认本例内容
现有材料分支 `feature/search`;状态含 4 个 staged、17 个 unstaged 和 2 个 untracked;本次任务只改搜索空状态。
不能越过的边界只读确认变更归属;不 reset、checkout 或删除;无法判断的文件先不碰。
要交付的结果变更归属清单与安全起点
处理记录

从“读取规则和分支”走到“限制后续编辑”

当前阶段实际处理
读取规则和分支确认项目贡献规则、当前分支、远端关系和禁止修改区域。
逐文件看状态区分已暂存、未暂存、未跟踪和忽略文件,查看 diff 与最近提交,不只看文件名。
标注变更归属将本次需要、用户已有、生成物和未知改动分开;未知项与任务重叠时先停止确认。
建立安全起点在不覆盖用户改动的前提下选择新分支、补丁、提交或备份,记录恢复方式。
限制后续编辑每轮修改后重看 diff,确保没有格式化或生成命令带来大范围无关变化。
脏工作区盘点

先把用户已有改动、生成物和本次范围分成三张表

类别证据处理
用户已有git diff 与时间/内容对应任务保留,不重写
本次范围目标源文件和新增 diff只编辑这些文件
生成物构建后批量变化,能由源文件重建构建后核对,不手工清理
未知无法确认归属或与任务重叠记录并停止清理

归属必须从 diff、规则和任务范围判断,不能按文件名猜。

最终输出

完成后的变更归属清单与安全起点

归属表把已有支付、导航和草稿文件标为用户工作;本任务只授权搜索组件与测试。修改前后 status 都保存,最终 diff 可单独审查,没有改变 staged 区。

常见失败

为什么“任务文件本来就有用户改动”还不能交付

任务文件本来就有用户改动

原因
同一文件存在混合归属
怎么改
逐块阅读 diff,与用户改动叠加而不覆盖;无法安全区分时停下说明
验收方式

变更归属清单与安全起点通过哪些检查才算完成

进一步核对

Git 与协作:参考资料与核对入口