docs/zh-CN/skills/github-ops
stars:0
forks:0
watches:0
last updated:N/A
GitHub 操作
管理 GitHub 仓库,重点关注社区健康、CI 可靠性和贡献者体验。
何时激活
- 对议题进行分类(分类、打标签、回复、去重)
- 管理 PR(审查状态、CI 检查、过期 PR、合并就绪状态)
- 调试 CI/CD 失败
- 准备发布和变更日志
- 监控 Dependabot 和安全告警
- 管理开源项目的贡献者体验
- 用户说“检查 GitHub”、“分类议题”、“审查 PR”、“合并”、“发布”、“CI 坏了”
工具要求
- 所有 GitHub API 操作均使用 gh CLI
- 通过
gh auth login配置仓库访问权限
议题分类
按类型和优先级对每个议题进行分类:
类型: bug, feature-request, question, documentation, enhancement, duplicate, invalid, good-first-issue
优先级: critical(破坏性/安全相关), high(重大影响), medium(锦上添花), low(外观/体验优化)
分类工作流程
- 阅读议题标题、正文和评论
- 检查是否与现有议题重复(通过关键词搜索)
- 通过
gh issue edit --add-label应用适当的标签 - 对于问题:起草并发布有帮助的回复
- 对于需要更多信息的 Bug:要求提供复现步骤
- 对于适合新手的议题:添加
good-first-issue标签 - 对于重复议题:评论并附上原始议题链接,添加
duplicate标签
# Search for potential duplicates
gh issue list --search "keyword" --state all --limit 20
# Add labels
gh issue edit <number> --add-label "bug,high-priority"
# Comment on issue
gh issue comment <number> --body "Thanks for reporting. Could you share reproduction steps?"
PR 管理
审查清单
- 检查 CI 状态:
gh pr checks <number> - 检查是否可合并:
gh pr view <number> --json mergeable - 检查 PR 的创建时间和最后活动时间
- 标记超过 5 天未审查的 PR
- 对于社区 PR:确保包含测试并遵循项目规范
过期策略
- 超过 14 天无活动的议题:添加
stale标签,评论要求更新 - 超过 7 天无活动的 PR:评论询问是否仍在进行
- 30 天内无回复的过期议题自动关闭(添加
closed-stale标签)
# Find stale issues (no activity in 14+ days)
gh issue list --label "stale" --state open
# Find PRs with no recent activity
gh pr list --json number,title,updatedAt --jq '.[] | select(.updatedAt < "2026-03-01")'
CI/CD 操作
当 CI 失败时:
- 检查工作流运行:
gh run view <run-id> --log-failed - 识别失败的步骤
- 判断是不稳定测试还是真正的失败
- 对于真正的失败:确定根本原因并提出修复建议
- 对于不稳定测试:记录模式以便未来调查
# List recent failed runs
gh run list --status failure --limit 10
# View failed run logs
gh run view <run-id> --log-failed
# Re-run a failed workflow
gh run rerun <run-id> --failed
发布管理
准备发布时:
- 确保主分支上的所有 CI 检查通过
- 审查未发布的更改:
gh pr list --state merged --base main - 根据 PR 标题生成变更日志
- 创建发布:
gh release create
# List merged PRs since last release
gh pr list --state merged --base main --search "merged:>2026-03-01"
# Create a release
gh release create v1.2.0 --title "v1.2.0" --generate-notes
# Create a pre-release
gh release create v1.3.0-rc1 --prerelease --title "v1.3.0 Release Candidate 1"
安全监控
# Check Dependabot alerts
gh api repos/{owner}/{repo}/dependabot/alerts --jq '.[].security_advisory.summary'
# Check secret scanning alerts
gh api repos/{owner}/{repo}/secret-scanning/alerts --jq '.[].state'
# Review and auto-merge safe dependency bumps
gh pr list --label "dependencies" --json number,title
- 审查并自动合并安全的依赖项更新
- 立即标记任何严重/高严重性告警
- 至少每周检查一次新的 Dependabot 告警
质量门禁
在完成任何 GitHub 操作任务之前:
- 所有已分类的议题都带有适当的标签
- 没有超过 7 天未收到审查或评论的 PR
- CI 失败已被调查(不仅仅是重新运行)
- 发布包含准确的变更日志
- 安全告警已被确认并跟踪
