主要观点:Jujutsu 围绕将工作构建为有意义的提交展开,Tangled 是新的社交型 Git 协作平台,旨在支持这种代码审查模式,对比了“diff-soup”模型和 interdiff 模型,介绍了 jujutsu 如何通过编辑、拆分、合并和返工旧提交来解决代码审查问题,以及 Tangled 上的 interdiff 代码审查流程和启用 stacked PRs 功能的方法。
关键信息:
- 在传统代码托管平台(如 GitHub)的 PR 中,默认以“diff-soup”模型审查,易导致提交混乱和
git blame
输出受影响。 - jujutsu 可轻松编辑、拆分等旧提交,如通过
jj edit
命令,自动 Rebase 后代提交。 - Tangled 上提交 Pull Request 可选择“Submit as stacked PRs”,每个更改作为单独的 PR 提交,收到评论可单独编辑,重新提交时能准确追踪提交。
- 通过写入
change-id
头部到 git 提交对象,可在 Tangled 上堆叠 PRs,且初始提交可见,有“interdiff”按钮查看差异。
重要细节:
- GitHub 的“Apply Suggestion”按钮直接将建议提交到 PR 中,默认只显示所有文件的 diff。
- 传统模式下,假设的 PR 有 3 个提交,难以一眼看出各提交的对应关系。
- jujutsu 中编辑提交后,SHA 改变但 change-id 不变。
- 在 Tangled 上初始化代码库后,有多个提交记录,提交 Pull Request 后可进行编辑和重新提交,查看差异等操作。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。