Github Ops

affaan-m/ECC/docs/zh-CN/skills/github-ops

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775无许可证275K 个星标收录于 2026年10月9日更新于 2026年10月9日仓库4天前更新

GitHub 仓库操作、自动化与管理。使用 gh CLI 进行问题分类、PR 管理、CI/CD 操作、发布管理和安全监控。当用户想要管理 GitHub 问题、PR、CI 状态、发布、贡献者、过期项目或任何超出简单 git 命令的 GitHub 操作任务时使用。

仅含说明DevOps & Cloud
AI 生成的概览

使用 gh CLI 管理 GitHub 仓库:议题分类、PR 审查、CI 调试、发布与安全告警。

功能
提供一套使用 gh CLI 进行 GitHub 仓库操作的流程,涵盖按类型和优先级对议题分类、PR 审查与过期策略、CI/CD 失败排查、发布与变更日志准备,以及 Dependabot 和密钥扫描告警监控。每个环节都给出检查清单、质量门禁和示例 gh 命令。产出包括已打标签和回复的议题、PR 状态评估、发布说明和安全告警摘要。
适用场景
当用户想要对 GitHub 议题进行分类、审查或管理 PR、排查失败的 CI 工作流、准备发布,或监控 Dependabot 与安全告警时使用。适用于超出简单 git 命令范围的开源项目维护任务。
运行要求
需要安装 gh CLI 并通过 gh auth login 完成认证,同时需要仓库访问权限和到 GitHub 的网络连接。该技能不包含脚本,仅为操作说明。

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(外观/体验优化)

分类工作流程

  1. 阅读议题标题、正文和评论
  2. 检查是否与现有议题重复(通过关键词搜索)
  3. 通过 gh issue edit --add-label 应用适当的标签
  4. 对于问题:起草并发布有帮助的回复
  5. 对于需要更多信息的 Bug:要求提供复现步骤
  6. 对于适合新手的议题:添加 good-first-issue 标签
  7. 对于重复议题:评论并附上原始议题链接,添加 duplicate 标签
bash
# Search for potential duplicatesgh issue list --search "keyword" --state all --limit 20
# Add labelsgh issue edit <number> --add-label "bug,high-priority"
# Comment on issuegh issue comment <number> --body "Thanks for reporting. Could you share reproduction steps?"

PR 管理

审查清单

  1. 检查 CI 状态:gh pr checks <number>
  2. 检查是否可合并:gh pr view <number> --json mergeable
  3. 检查 PR 的创建时间和最后活动时间
  4. 标记超过 5 天未审查的 PR
  5. 对于社区 PR:确保包含测试并遵循项目规范

过期策略

  • 超过 14 天无活动的议题:添加 stale 标签,评论要求更新
  • 超过 7 天无活动的 PR:评论询问是否仍在进行
  • 30 天内无回复的过期议题自动关闭(添加 closed-stale 标签)
bash
# Find stale issues (no activity in 14+ days)gh issue list --label "stale" --state open
# Find PRs with no recent activitygh pr list --json number,title,updatedAt --jq '.[] | select(.updatedAt < "2026-03-01")'

CI/CD 操作

当 CI 失败时:

  1. 检查工作流运行:gh run view <run-id> --log-failed
  2. 识别失败的步骤
  3. 判断是不稳定测试还是真正的失败
  4. 对于真正的失败:确定根本原因并提出修复建议
  5. 对于不稳定测试:记录模式以便未来调查
bash
# List recent failed runsgh run list --status failure --limit 10
# View failed run logsgh run view <run-id> --log-failed
# Re-run a failed workflowgh run rerun <run-id> --failed

发布管理

准备发布时:

  1. 确保主分支上的所有 CI 检查通过
  2. 审查未发布的更改:gh pr list --state merged --base main
  3. 根据 PR 标题生成变更日志
  4. 创建发布:gh release create
bash
# List merged PRs since last releasegh pr list --state merged --base main --search "merged:>2026-03-01"
# Create a releasegh release create v1.2.0 --title "v1.2.0" --generate-notes
# Create a pre-releasegh release create v1.3.0-rc1 --prerelease --title "v1.3.0 Release Candidate 1"

安全监控

bash
# Check Dependabot alertsgh api repos/{owner}/{repo}/dependabot/alerts --jq '.[].security_advisory.summary'
# Check secret scanning alertsgh api repos/{owner}/{repo}/secret-scanning/alerts --jq '.[].state'
# 审查依赖项更新并提交给用户批准,切勿自动合并gh pr list --label "dependencies" --json number,title
  • 审查安全的依赖项更新并提交给用户批准,切勿自动合并
  • 立即标记任何严重/高严重性告警
  • 至少每周检查一次新的 Dependabot 告警

质量门禁

在完成任何 GitHub 操作任务之前:

  • 所有已分类的议题都带有适当的标签
  • 没有超过 7 天未收到审查或评论的 PR
  • CI 失败已被调查(不仅仅是重新运行)
  • 发布包含准确的变更日志
  • 安全告警已被确认并跟踪

来源与署名

来源:affaan-m/ECC位于docs/zh-CN/skills/github-ops提交ef648e0

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架