大仓日常开发工作流
面向多人共用的单一大仓库的日常做法:用部分克隆减少首次下载量,用稀疏检出限定工作目录,用维护计划保持仓库性能。提交时注意把改动收敛在自己负责的目录内,评审人按归属文件指定。
基本信息
| 克隆方式 | 克隆时同时启用对象过滤与稀疏检出 |
|---|---|
| 工作区 | 设置稀疏范围,只保留自己需要的目录 |
| 维护 | 登记维护计划并定期预取,避免操作逐渐变慢 |
| 提交范围 | 改动集中在自己负责的目录 |
| 检索方式 | 从版本库层面搜索,不受工作区范围限制 |
典型使用场景
- 大仓库里只维护自己负责的服务
- 首次克隆耗时过长,需要减少下载量
- 避免检出无关目录带来的编辑与检索噪音
- 维持大仓库长期可用的读写性能
- 跨目录改动需要协调多个评审方
标准流程
标准流程
git clone --filter=blob:none --sparse https://example.com/mono.git
cd mono
git sparse-checkout set services/payment libs/common # 只保留需要的目录
git maintenance register # 登记维护计划
git status # 确认工作区范围与改动
git add services/payment/main.go # 提交自己目录内的改动常用命令
| 命令 | 作用 |
|---|---|
| 克隆时过滤加稀疏 | 只下载需要的目录与对象 |
| 设置稀疏范围 | 限定工作区包含哪些目录 |
| 登记维护计划 | 让仓库在后台保持整理与预取 |
| 版本库层面搜索 | 不受工作区范围限制的全局检索 |
需要全局检索时使用版本库层面的搜索,而不是编辑器的文件搜索:后者看不到稀疏范围之外的文件。
跨目录改动会牵动多个团队的评审,拆成多个评审请求或提前沟通,能显著降低合入阻力。
维护计划负责后台预取与整理,长期不登记时大仓库的日常操作会逐渐变慢。
本机的构建产物与缓存目录要在本地忽略掉,避免把自己机器生成的文件混进提交。