用途:这是一套基于 jj 的源代码管理工作流,核心原则是“不丢失任何工作”。在 jj 中,工作副本 @ 始终是一个提交,没有暂存区,每次保存都进入当前提交,因此所有改动会自动被追踪。
主要规则:每次可测试的改动后即提交,执行 jj commit -m "msg",不要批量合并,因为工作树最终会被 squash-merge。在执行 jj restore、jj abandon 或结束会话等破坏性操作前,必须先提交。做实验时先提交、再评估,若要丢弃则用 jj backout -r @-,历史仍被保留。遇到未知改动时先保留,不要直接 jj restore,而是先提交检查点,再用 jj diff -r @- 调查。删除代码前先提交检查点,便于从历史恢复。
使用方式:遵循“先提交后操作”的顺序,尤其在恢复、放弃或结束会话之前。实验性变化用提交—评估—backout 的方式处理。
适用场景:需要频繁试错、又必须保证任何过去状态都能通过 jj edit 找回的软件开发流程,特别是采用 TDD、squash-merge 发布方式的团队或个人。
限制:资料未提供具体安装命令、配置参数、支持平台或与其他工具的集成细节。