Skip to content

场景二:子项目管理

本场景演示在已有 GVT 项目中用 gvt init --sub 追加子项目,保持统一结构。

背景

你已有一个后端项目,需要补充一个独立的前端子模块,而不重新初始化整个项目。

追加前端子项目

bash
cd existing-project
gvt init --sub frontend

交互收集前端信息(技术栈、包管理器、内联样式等)后,写入 frontend/ 对应目录,复用项目根 go.mod 与已有配置。

追加后端子项目

bash
cd existing-project
gvt init --sub backend

适用于 monorepo 中将多个后端服务拆分到不同目录,仍共享根模块与钩子配置。

目录约定

existing-project/
├── backend/            # 已有后端
├── frontend/           # 新增前端(--sub frontend)
│   └── portal/
├── service-order/      # 新增后端服务(--sub backend)
└── .gvt/hook/          # 统一钩子配置(按模块拆分)

为子目录注册检查

bash
gvt add --dir frontend/portal
gvt add --dir service-order

每个目录写入 .gvt/hook/modules/<name>.toml,独立 enabled 开关,互不干扰。

注意事项

  • --sub 不重新初始化 Git,仅追加目录与文件。
  • 子项目的 ORM、包管理器等依赖交互输入,不会覆盖已有配置。

基于 MIT 协议开源