Git 与阿里云 OSS 存放标准
Git 保存可审阅、可复用、可 diff 的控制面。说明类 HTML 同时保存到 Git 和阿里云 OSS,Git 负责版本,OSS 负责外网访问。
一句话标准
放 Git
问答记录、HTML 说明源文件、脚本、skill、workflow、OSS 非密钥配置、清单和小型文本派生物。
放 OSS
Excel/CSV、PDF、Word、图片、压缩包、原始数据、采集结果和不适合 code review 的二进制文件。
分类表
| 文件类型 | 默认位置 | 原因 | 例外 |
|---|---|---|---|
| 问答与运行记录 | Git: docs/runs/*.html | 需要长期可追溯、可搜索。 | 不要复制敏感原文。 |
| Skill / Workflow | Git: skills/、workflows/ | 项目能力沉淀,需要版本控制。 | 工作流里只写 OSS 地址和流程,不写密钥。 |
| 脚本和 OSS 配置 | Git: scripts/、config/aliyun-oss.env | 让别人 clone 后知道 bucket、prefix、region 和同步入口。 | config/*.local.env 与任何凭据不进 Git。 |
| Excel / CSV | OSS: oss://bucket-food-safety/bid-analysis-methodology/spreadsheets/ | 二进制或数据类文件不适合 Git diff,且可能包含业务数据。 | 极小模板可在确认后保留 Git。 |
| PDF / Word / 图片 / ZIP | OSS | 大文件、附件和源材料应该作为外部资产管理。 | 公开 HTML 页面里的小图片可另走发布前缀。 |
| HTML 说明页 | Git + 公开 OSS | Git 保存版本,OSS 提供外网地址。 | 包含敏感数据时不要发布到公开 OSS。 |
| HTML 业务报告 | Git 或内部 OSS,按发布目的决定 | 需要外部查看时再发布公开链接。 | 敏感报告默认不公开。 |
| 原始数据 | 本地 ignored 或私有 OSS | 通常含敏感字段,不能默认提交。 | 脱敏样例可放 Git。 |
连接方式
别人 clone 项目后,先确认自己的阿里云 CLI profile 有 bucket 权限,再运行项目脚本。
bash scripts/aliyun_oss_project_assets.sh check bash scripts/aliyun_oss_project_assets.sh list bash scripts/aliyun_oss_project_assets.sh pull bash scripts/aliyun_oss_project_assets.sh push-html-public --dry-run
项目可以提交 bucket、prefix、region 和脚本,但不能提交 AccessKey、Secret、OAuth token 或 STS token。没有授权的 Mac 不能直接读取私有 OSS 内容。
HTML 双存储规则
- 说明类 HTML 在 Git 中保留一份,便于 review、diff 和历史追踪。
- 同一份 HTML 发布到
oss://kxunpt/public/bid-analysis-methodology/,对应外网地址https://kxunpt.oss-cn-beijing.aliyuncs.com/public/bid-analysis-methodology/...。 - 发布入口:
bash scripts/aliyun_oss_project_assets.sh push-html-public。 - 业务报告若包含敏感内容,不自动进入公开 OSS,需要单独确认。
Excel 迁移规则
- 新增 Excel/CSV 先写到本机,确认后运行
push-spreadsheets上传到阿里云 OSS。 - Git 中只保留 HTML 说明、运行记录、清单或生成脚本。
- 已经进入 Git 的历史 Excel 先上传到 OSS,再逐步移出 Git,并替换页面里的本地下载链接。
- 需要公开下载的 Excel 另走公开发布流程,不默认放入 public bucket。