docs(GOV-004): 强制提交后同步 Gitea
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 提交后强制推送 Gitea PRD
|
||||
|
||||
- 功能编号:GOV-004
|
||||
- PRD 版本:0.1
|
||||
- 状态:approved
|
||||
- 日期:2026-08-12
|
||||
|
||||
## 问题
|
||||
|
||||
项目此前只要求保存本地提交,是否推送需要逐次确认。这会导致本地版本与 Gitea 长期不一致,使远程备份、跨设备读取、历史审阅和版本回退缺少可靠依据。
|
||||
|
||||
## 目标
|
||||
|
||||
- 每次验证通过的本地提交立即推送当前分支。
|
||||
- 本次创建的新标签在分支推送成功后单独推送。
|
||||
- 推送失败时任务保持未完成,并提供安全、可审计的重试路径。
|
||||
- 让提交、远程分支、标签和功能档案保持可核对的一致关系。
|
||||
|
||||
## 非目标
|
||||
|
||||
- 不自动推送其他本地分支或非本次创建的标签。
|
||||
- 不使用强推,不自动合并、rebase 或覆盖未知远程提交。
|
||||
- 不新增 GitHub、CI、Webhook 或 Gitea 服务端配置。
|
||||
- 不修改全局 Git 配置,不影响其他项目。
|
||||
|
||||
## 用户流程
|
||||
|
||||
开发者完成验证与 Review 后创建中文提交,随即把当前分支推送到项目 `origin`;若同时发布版本,则精确推送新标签。系统核对远程 SHA 并在功能档案中记录结果。任何环节失败都保留本地状态,解决原因后重试,不能对外宣称完成。
|
||||
|
||||
## 验收标准
|
||||
|
||||
- 现行规范明确普通提交只推当前分支,新标签只推本次创建的标签。
|
||||
- 现行规范明确推送成功属于完成定义,失败必须留痕并阻断完成。
|
||||
- 现行规范禁止 `--force`、`--force-with-lease`、自动覆盖或自动改写远程历史。
|
||||
- `origin/main` 与最终本地 `main` SHA 一致。
|
||||
- 既有 `v0.0.0`、`v0.0.1`、`v0.0.2` 以及新 `v0.0.3` 标签均能从远程读取并对应本地标签提交。
|
||||
- 凭据继续由 macOS Keychain 管理,仓库和提交历史无密码或令牌。
|
||||
- 全局 Git 配置保持不变,治理门禁和 GitNexus 变更检测通过。
|
||||
|
||||
## 风险
|
||||
|
||||
- 远程网络或认证故障会延迟任务完成,但不会破坏本地提交。
|
||||
- 分支保护或远程出现未知提交时可能拒绝推送;必须停下检查,不得绕过保护。
|
||||
- 将所有标签批量推送可能发布未批准标签,因此只允许精确推送指定标签。
|
||||
Reference in New Issue
Block a user