全部文章
工作流

让 AI 交接 Git 改动时,别漏掉新增文件

用状态和路径核对 stash,尤其是新建测试或配置时。

资料核验2026.11.12 · Git · 已有版本历史的项目

临时要切分支,编辑器里既有修改过的模块,也有刚生成的测试文件。普通 git stash push 不收未跟踪文件。此时以为「东西都收好了」,切到另一个分支才会发现新文件还跟着你。

给 AI 的上下文与边界

准备一处已跟踪的代码修改和一个未跟踪的新测试。请助手只报告切分支前需要保留的清单和命令,先看状态再决定是否带上未跟踪项。恢复前先展示 stash 的条目,避免应用错一份任务。

流程示意:状态列清单;含未跟踪项存入;恢复逐项对照

存进去什么,取出来前先看

先跑 git status --short。要收进去的文件含有未跟踪项时,可以用 git stash push -u -m 'export test',并再查一次状态。忽略文件仍需另行处理,别为了图省事把整个构建目录一起收走。

恢复时可以先用 git stash apply 保留原条目,核对修改和测试文件都在,再明确删除对应条目。有冲突时先检查工作区状态。

如果两项任务要并行超过半天,用独立 worktree 通常比来回存取更清楚。

可以直接照着做的演练

在测试仓库对同一组文件分别观察默认 stash 和 -u。列出 src/export.js 与 tests/export.test.js 存放前后的状态。遇到有两份 stash 的情况,先核对编号和说明,再恢复指定条目。

检查生成结果

  • 普通 stash 与带 -u 的结果有区别。
  • 恢复后新测试文件必须存在。
  • 旧条目在确认恢复结果前还可以保留。

复查时追问一层

别把忽略目录、私有凭据或大构建物一股脑塞进去。冲突时先确认当前目录与 stash 标识,再逐项解决。若两项工作长期并行,可以直接给助手独立 worktree,少用存取来模拟任务隔离。

选择恢复时可以先用 apply 留一份原记录。若目标分支也改过同一个文件,先确认冲突范围,再用状态核对原本的新文件是否已恢复。等你确认新旧改动都保留,再清掉那条明确的 stash。

资料来源