为大型功能特性维护干净的提交历史(即每个提交都是逻辑清晰、便于审阅的步骤)往往令人精疲力竭。像 `jj absorb` 或 `jj squash -i` 这样的传统工具容易出错,或者在边界复杂时导致合并冲突。 作者提出了一种替代工作流:“衣物分类法”(Laundry Sorting)。在开发过程中,与其费力维护完美的提交,不如先让初始提交变成一堆混乱的混合更改。待功能完成后,你先创建一个由空提交组成的链条,按逻辑顺序排列,代表你理想中的历史记录。接着,将所有“混乱”的提交合并为一个“全量”提交,再以交互方式将特定的代码块迁移到对应的逻辑提交中。 这种方法避免了“拆分与合并”的循环,简化了整理过程,并通过一次性分发更改避免了冲突地狱。虽然这有时会产生无法编译的中间提交(牺牲了完美的 `git bisect` 历史),但它显著减轻了版本控制带来的认知负担,将审阅者的可读性和开发者的顺畅度置于严格的增量提交规范之上。