| name | git-project-maintain |
| description | 项目维护提交工作流:检查 .gitignore 完整性、执行 git 提交(含 Windows 网络问题处理)、 创建和维护 CHANGELOG.md。当用户要求"提交代码"、"做更新日志"、"检查 gitignore"、 "推送到远程"或类似的代码仓库维护任务时触发此 skill。
|
Git 项目维护工作流
1. 检查 .gitignore
提交前检查 .gitignore 是否完整,按需补充以下常见项:
.eslintcache
.vercel
*.pem
tmp/, temp/
.turbo
.history/
注意:若项目存在 data/ 等目录,确认是否整行忽略导致示例配置(*.example.json)或 mock 数据被误屏蔽。如有误屏蔽,改用精确规则(如 /data/*.db)并保留示例文件。
2. 执行提交
按以下顺序执行:
git add -A
git commit -m "<type>: <message>"
git push origin <branch>
提交类型参考:
feat:新功能
fix:修复
docs:文档
chore:构建/配置/杂项
refactor:重构
style:格式(不影响代码逻辑)
Windows Git Bash 网络问题处理
若 push 时报错 getaddrinfo() thread failed to start,说明 libcurl DNS 解析线程失败。使用代理解决:
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
git push origin <branch>
若用户未提供代理地址,询问其本地代理端口(常见如 7890、10809、7897)。
3. 创建/维护 CHANGELOG.md
若根目录不存在 CHANGELOG,使用模板创建:
cp <skill-dir>/assets/CHANGELOG.template.md ./CHANGELOG.md
更新规则
- 每次提交后,若变更对用户/开发者可见,追加到
[未发布] 区块。
- 按类型分组:
新增、修复、优化、文档。
- 用户要求"补充以前的更新日志"时,执行
git log --oneline 或 git log --format="%h|%s|%ai",逐条回溯并分类写入对应日期区块。
- 回溯历史时结合
git diff --stat 和实际文件变更推断具体内容,不要仅复制 commit message。
- 当
[未发布] 积累到一定规模或发版时,为其添加日期标题(如 ## 2026-05-19),并在上方新建空的 [未发布] 区块。
示例结构
## [未发布]
### 新增
- 某某功能
### 修复
- 某某 bug
## 2026-05-19
### 新增
- 历史功能 A
- 历史功能 B
4. 完整工作流示例
用户说"帮我提交并做更新日志"时的标准执行顺序:
git status 查看变更
- 检查
.gitignore 是否需要调整
- 若不存在
CHANGELOG.md,使用模板创建
- 根据当前变更更新
CHANGELOG.md(未发布区块)
git add -A && git commit -m "..."
git push origin <branch>(遇网络错误则走代理)
- 若用户要求补充历史,回溯
git log 并补全过往记录后再 commit/push