用途
GitHub 自动化操作技能,用于自动化 GitHub 平台上的各类操作。当用户需要推送代码到 GitHub、管理仓库、创建 PR、处理 Issue,或遇到 git push 失败时,可使用此技能。
主要能力
- 仓库管理:创建公开或私有仓库、Fork 仓库、按关键词搜索仓库、读取/创建/更新文件、一次提交多个文件。
- Pull Request 管理:从分支创建 PR、添加评论和审查意见、合并 PR、获取 PR 文件变更、查看 CI/CD 状态。
- Issue 管理:创建 Issue、修改状态/标签/负责人、按条件搜索、添加评论、批量处理多个 Issue。
- 分支管理:从指定分支创建新分支、列出提交历史、配置分支保护规则、选择合并方式(merge、squash、rebase)。
- 代码搜索:在仓库中搜索代码片段、搜索 Issue 和 PR、查找 GitHub 用户、使用 GitHub 搜索语法进行高级查询。
- CI/CD 工作流自动化:结合 GitHub Actions 实现自动化测试与自动化部署。
使用方式
推送代码时优先使用 GitHub MCP,而不是 git push。原因包括:不需要 Personal Access Token(使用已认证的 GitHub Copilot token)、避免认证问题(SSH key 未配置或 HTTPS token 过期时仍可工作)、支持批量提交、直接通过 GitHub API 更可靠。
方法1:使用 mcporter(推荐)
单个文件:
mcporter call github.push_files \
owner=aAAaqwq \
repo=my-repo \
branch=master \
message="feat: add new feature" \
files='[{"path":"README.md","content":"file content"}]'
多个文件(使用 Python):
python3 << 'EOF'
import json
import subprocess
payload = {
"owner": "aAAaqwq",
"repo": "my-repo",
"branch": "master",
"message": "feat: update multiple files",
"files": [
{"path": "README.md", "content": "..."},
{"path": "src/main.py", "content": "..."}
]
}
result = subprocess.run([
'mcporter', 'call', 'github.push_files',
f'owner={payload["owner"]}',
f'repo={payload["repo"]}',
f'branch={payload["branch"]}',
f'message={payload["message"]}',
f'files={json.dumps(payload["files"])}'
], capture_output=True, text=True)
print(result.stdout)
EOF
方法2:传统 git push(需要配置认证,仅在 MCP 不可用时使用)
git push origin master
查看所有可用 MCP 工具:
mcporter list github --schema
常用工具:
- github.push_files - 推送多个文件到仓库
- github.create_or_update_file - 创建或更新单个文件
- github.get_file_contents - 获取文件内容
- github.list_commits - 列出提交历史
工作流程
标准开发流程:创建分支 → 开发代码 → 提交变更 → 创建 PR → 代码审查 → 合并代码。
自动化发布流程:监听 push 或 tag 事件 → 运行测试 → 构建项目 → 创建 Release → 部署应用。
Issue 管理流程:创建 Issue → 分配任务 → 添加标签 → 跟踪进度 → 关闭 Issue。
适用场景
- 创建新的 GitHub 仓库
- 提交代码并创建 Pull Request
- 批量处理 GitHub Issues
- 自动化代码审查流程
- 搜索代码库中的特定代码
- 管理 GitHub Actions 工作流
- 自动化代码审查、Issue 自动分类、发布管理、依赖更新等集成场景
限制与注意事项
- 需遵守 GitHub API 速率限制。
- 使用 Personal Access Token 认证(传统方式)。
- 需正确处理 API 错误和重试。
- 需保护敏感信息和密钥,不提交敏感信息,使用 GitHub Secrets 管理密钥,启用双因素认证,定期审查权限设置。
- 遵循开源项目贡献指南。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。