在独立检出目录中评审
Isolated Review Checkout
把评审放到独立的代码目录,避免影响正在实现的工作。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
主工作区有用户未提交改动,你要评审已提交候选 revision-a的小补丁。独立检出可避免为阅读切换主分支,但不会自动包含主区未提交内容;这次范围必须先明确。
具体做法
记录主工作区基线和评审目标,在允许的位置创建独立检出并核对候选身份。稀疏范围仅在不会遗漏必要调用者时采用;检查和产物留在评审区,结束对比主状态。若要审未提交内容,按明确范围另外提供受控快照,不能把 HEAD检出误称当前工作树。隔离不可用时保持主区只读,不回滚用户改动。
反例
把主区切到 PR分支,清掉阻挡的未提交文件;或只检出 revision-a却称最新未提交补丁也已评审。
改进写法
教学只评 revision-a:先保存主区状态,在允许位置建立独立检出,核对提交和完整所需依赖后检查。评审前后确认主区未变。若目标改为未提交补丁,应按范围快照并注明来源,不能偷换成 HEAD。创建失败就报告并选择安全只读检查;清理仅处理已确认评审目录,不覆盖其他工作。
为什么这样改
隔离把评审操作从实现现场分开,目标身份又防止隔离环境只拥有提交数据却被当作全部当前变化。主区对比说明实际保留,而不是因用了 worktree就推断无影响。
如何验证
教学前后主区文件/状态一致,评审记录是 revision-a;稀疏未含调用方时保留覆盖缺口或在范围内补取。
清理失败不会触发强删主区,未提交目标缺失不能说通过。本篇不创建或删除实际 worktree。
适用边界
独立目录不是所有资源隔离,凭据、缓存和服务可能共享。源码范围与测试能力需核对;冻结的创建/回退命令不是当前权限,文件清理要验证绝对路径与归属。