主要观点:介绍如何使用 Git Worktrees,起初将其作为分支的替代或补充,后因分支在中途切换时难以保存上下文而放弃,如今将其用于管理编码时的并发活动。
关键信息:
- 有固定数量(5 个)的工作树,分别为 main、work、review、fuzz、scratch。
- main 工作树是只读的,包含远程 main 分支的最近快照,用于比较当前工作和审查的代码。
- work 工作树用于写大部分代码,常需同时比较新旧代码,且不断切换分支。
- review 工作树用于代码审查,审查和实现可并发进行。
- fuzz 工作树用于为正在工作的代码运行长时间的模糊测试,需在分离头状态下操作。
- scratch 工作树用于处理其他随机事情。
重要细节: - 避免使用 Git 的暂存区和 stash,遇到需要切换分支时,先提交再切换。
- 有 ggc 实用程序用于原子性地提交所有内容并附带简单消息。
- 可在 fuzz 工作树运行测试的同时在 work 工作树继续修改代码,最终根据情况创建 PR。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。