场景二:子项目管理
本场景演示在已有 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、包管理器等依赖交互输入,不会覆盖已有配置。