单代码多分支多进程AI开发

kkcode
kkcode
2026-07-18阅读 20

Git Worktree 方案(单仓库多目录并行,仅一份.git历史,不完整克隆)

一、核心原理

仓库本体仅1份.git版本库,通过worktree生成多个独立源码目录,每个目录永久绑定单一分支,目录文件互不覆盖,可同时开多终端、多AI窗口、多服务进程并行开发。

目录结构示例

code-root/
├─ project-main/        # 原始主仓库(唯一.git存放处)
├─ feature-user-import/ # 工作区1,绑定feature/user-import分支
├─ feature-pay-flow/    # 工作区2,绑定feature/pay-flow分支
└─ bugfix-list-lag/     # 工作区3,绑定bugfix/list-lag分支

二、创建并行开发工作区

进入原始主仓库目录执行

# 从main分支新建分支+生成独立工作目录
git worktree add ../feature-user-import -b feature/user-import main
git worktree add ../feature-pay-flow -b feature/pay-flow main
git worktree add ../bugfix-list-lag -b bugfix/list-lag main

三、配套并行开发规范

  1. 隔离绑定
    每个worktree文件夹单独打开IDE/终端,单独开1个AI窗口,窗口仅处理当前分支需求。
    AI固定前置约束:
当前仅处理对应分支需求,规则:
1. 只修改需求关联代码,禁止重构、优化无关逻辑
2. 最小改动补丁模式,不扩散代码修改范围
3. 单次只完成一个细分功能点,完成后提示commit
4. 禁止改动稳定老逻辑、公共基础工具
  1. 分步提交(防AI篡改老代码)
    在当前分支工作目录执行,做完一小段立刻提交,不堆积改动
git add .
git commit -m "feat:xx模块-完成细分功能"
  1. 多进程运行
    每个工作目录启动服务配置独立端口,多个服务同时运行无冲突。

四、管理worktree常用命令

# 查看所有创建的并行工作目录
git worktree list

# 需求上线合并完成后,删除闲置工作区释放磁盘
git worktree remove ../feature-user-import

五、合并流程

  1. 功能全部验证完毕,切换回主仓库目录
cd project-main
git checkout main
git merge --no-ff feature/user-import
git push
  1. 执行git worktree remove删除对应工作目录

实践参考

评论数量:0