只有一台电脑,却要同时推进好几个开发任务,改着改着分支就串了、文件就冲突了。宝玉在推文里给出的思路很直接:用 Git 的 worktree 把项目副本隔离开,让不同任务互不干扰。
worktree 是 Git 自带的功能,可以在同一个仓库下创建多个分离的工作副本,每个副本对应不同的分支或任务。这样即使只有一台机器,也能并行处理多个开发任务,而不用来回切换分支、stash 改动。
推文里的原话是:如果只有一台电脑,可以用 worktree 隔离开,这样相互不干扰。核心价值在于隔离——任务之间不共享工作目录,也就不会出现改 A 任务时把 B 任务的未提交改动带进去的情况。
云端开发:让任务不受本地资源束缚
如果手上有云服务,另一条路是把开发任务搬到云端 agent 上。推文提到,可以在云端开发,完成任务后提 PR,不用担心任务之间相互冲突。
这样做的好处是开发流程不再受物理设备限制,本地机器的算力和环境不再是瓶颈,分布式团队的协作也更容易管理。多个任务可以各自在云端跑,最后以 PR 的形式汇合。
合并策略:先 rebase,再删副本
任务并行之后,真正的麻烦往往在合并环节。推文给出的规则是:合并之前先 rebase 一下并解决冲突,合并后删除 worktree。
这条规则的关键在于把冲突处理前置。冲突在 rebase 阶段就被解决掉,合并动作本身变得干净,工作副本也就可以安全删除。推文进一步指出,这一步可以被自动化,允许 agent 代为处理这些冲突,从而省下人工干预的时间。
把三件事串起来看,逻辑是完整的:worktree 解决本地任务隔离,cloud agent 解决资源与协作限制,rebase 加删除副本解决合并冲突,并且把冲突处理交给 agent 自动完成。对于硬件资源有限、又要并行推进多个任务的开发者来说,这是一套可以直接落地的组合。
热门跟贴