1. GitHub 与 Git 的关系

维度GitGitHub
本质分布式版本控制系统(本地软件)基于 Git 的代码托管与协作平台(SaaS 服务)
核心能力版本追踪、分支管理、合并、历史回溯可视化仓库、Pull Request、Issue、Actions、项目管理
运行环境本地命令行或 GUIWeb 服务,通过 HTTPS/SSH 与本地 Git 交互
独立性完全独立,不依赖任何平台依赖 Git 协议,同类型替代有 GitLab、Gitee、Bitbucket

2. GitHub 核心功能一览

功能模块说明关键点
Repository(仓库)托管代码、文档及完整 Git 历史可公开/私有;配置默认分支、保护规则;支持 README、LICENSE、.gitignore
Pull Request(PR)代码评审与合并请求机制发起跨分支合并 → 审查 / CI 检查 → 讨论 → 合并或关闭;支持 Draft PR、Squash / Rebase 合并
Issues任务跟踪、Bug 报告、功能请求可分配、标签、里程碑;通过 Closes #xx 在 PR 中自动关闭;支持模板
Actions(CI/CD)自动化工作流引擎YAML 定义,基于事件触发(push/PR/定时);社区市场提供大量预置 Actions
Projects项目管理看板支持表格、看板、路线图视图;关联 Issue/PR;可自动状态流转
Discussions社区讨论区问答、思想交流、公告;与 Issue 分离,非事务性沟通
Wiki & Pages文档与静态站点Wiki 用于协作文档;Pages 可从分支或 Actions 部署静态网站
Codespaces云端开发环境浏览器内完整 VS Code,预配置开发容器,即时开发
CopilotAI 编程助手(可选)代码补全、聊天、PR 审查辅助,深度集成在编辑器和 GitHub 界面中
Security安全扫描与告警Dependabot 依赖更新与漏洞告警;Code scanning(CodeQL);Secret scanning 防密钥泄露

3. Pull Request 标准工作流

  1. 创建功能分支并推送到远程仓库。
  2. 在 GitHub 上打开 Pull Request,选择 base(目标分支)和 compare(特性分支)。
  3. 自动触发 CI 检查(通过 Actions 或第三方集成)。
  4. 团队成员进行代码审查,在具体行上评论,请求修改。
  5. 所有检查通过且获得必要审批后,选择合并方式:
    • Merge commit:保留完整分支历史。
    • Squash merge:将整个 PR 压缩为单个提交,保持主干整洁。
    • Rebase merge:将 PR 提交线性排列到目标分支顶端,无合并提交。
  6. 分支可自动删除,关闭 PR。

4. 常用交互与快捷操作

  • 提及(@username 通知特定成员参与讨论。
  • 引用(#123 链接到 Issue/PR 编号。
  • 任务列表(- [ ] task 在 Issue/PR 描述中生成可勾选清单。
  • 标签(Label)与里程碑(Milestone) 分类和规划进度。
  • 分支保护规则:要求 PR 审查、状态检查通过、禁止强制推送等,可在仓库 Settings → Branches 配置。

5. 总结

GitHub 是建立在 Git 之上的协同层,提供:

  • 代码协作:PR 审查、讨论、合并策略。
  • 项目管理:Issue、Projects、里程碑。
  • 自动化:Actions 实现 CI/CD。
  • 安全与合规:漏洞扫描、密钥检测、权限控制。
  • 社区与知识:Discussions、Wiki、Pages。

掌握这些工具,可以将 Git 的强大版本能力转化为高效的团队开发流程。