---
name: taichu-git-publish
description: 将太初当前任务包的已验证变更提交并推送到远程仓库。Use when taichu-task-package-execution 完成后自动发布、用户要求提交推送、发布本次执行内容，或需要让 GPT Pro 读取最新远程更改。
---

# 太初 Git 发布

## 核心定位

把本次 Codex 执行结果变成远程仓库上的可读状态，方便 GPT Pro 基于最新代码 review。此 Skill 只负责提交和推送当前任务相关变更，不负责改代码。

## 前置条件

进入发布前必须确认：

- 本次任务包已经执行完成并达到可交付状态，或用户明确要求发布当前状态。
- 已运行与改动相关的验证命令，或已经记录无法验证的原因。
- 已查看 `git status --short`，区分本次改动和用户已有改动。
- 不提交 `.env`、密钥、缓存、构建产物、虚拟环境、临时文件。
- 不回滚、不清理、不覆盖非本次任务产生的用户改动。

如工作区存在无法区分归属的改动，必须停下并询问用户哪些文件可以纳入本次提交。

## 发布流程

1. 运行 `git status --short`，列出候选文件。
2. 用 `git diff --stat` 和必要的 `git diff` 自审变更范围。
3. 确认验证结果，若测试失败、关键验证未跑且没有合理原因、或执行结果不是“已完成”，停止发布并说明原因。
4. 只 stage 本次任务相关文件，避免 `git add .` 带入无关改动。
5. 写清晰 commit message，建议格式：

```text
feat: 完成太初任务包的简短说明
fix: 修复太初任务包中的具体问题
chore: 更新太初开发态规范
docs: 更新太初执行流说明
```

6. 提交后运行 `git status --short` 确认剩余改动。
7. 推送当前分支到远程。若当前分支没有 upstream，使用 `git push -u origin <branch>`。
8. 输出发布结果，包含 commit hash、分支、远程推送结果和剩余未提交文件。

## 发布报告格式

最终回复必须包含：

```markdown
Git 发布结果：
- Commit：hash message
- Branch：branch-name
- Push：成功 / 失败
- Remote：origin/branch-name

已提交文件：
- ...

未提交文件：
- 无 / ...

验证摘要：
- ...

给 GPT Pro：
- 已推送最新代码，可基于 branch-name 的 hash 进行 review。
```

## 失败处理

- 提交失败：说明 Git 报错、当前状态和下一步建议。
- 推送失败：说明是否是认证、远程不存在、分支保护、网络问题或冲突。
- 发现敏感文件：立即停止，不要提交，提示用户处理。
- 发现无关改动：停止并询问，不要猜测归属。
- 验证失败：停止发布，保留工作区变更，等待用户决定是修复、强制发布还是回退。

## 禁止事项

- 不要使用 `git reset --hard`、`git checkout --` 或其他破坏性命令，除非用户明确要求。
- 不要为了提交而修改业务代码。
- 不要把测试失败的提交包装成稳定交付。
- 不要在未确认文件归属时提交整个工作区。
