GitHub 使用指南
GitHub 简介
GitHub 是一个基于 Git 的代码托管平台,提供了代码托管、协作开发、项目管理等功能。它是全球最大的开源社区之一。
graph TD
    subgraph GitHub
        CT[代码托管]
        CD[协作开发]
        PM[项目管理]
        CT --> VC[版本控制]
        CT --> CR[代码审查]
        CD --> PR[Pull Request]
        CD --> I[Issues]
        PM --> P[Projects]
        PM --> A[Actions]
    end
GitHub 工作流程
graph LR
    local[本地仓库] --> github[GitHub仓库]
    github --> review[代码审查]
    review --> main[主分支]
    main --> local
GitHub 账号设置
- 访问 https://github.com 注册账号
 - 配置 SSH 密钥
# 生成 SSH 密钥 ssh-keygen -t rsa -b 4096 -C "your.email@example.com" # 查看公钥 cat ~/.ssh/id_rsa.pub - 将公钥添加到 GitHub 账号设置中
 
GitHub 基本操作
创建仓库
graph TD
    A[创建仓库] --> B[填写信息]
    B --> C[选择可见性]
    C --> D[初始化选项]
    D --> E[完成创建]
推送代码到 GitHub
# 添加远程仓库
git remote add origin https://github.com/username/repository.git
# 推送代码
git push -u origin main
拉取更新
# 拉取远程更新
git pull origin main
# 获取远程更新但不合并
git fetch origin
GitHub 协作功能
Fork 和 Pull Request 流程
graph TD
    A[Fork仓库] --> B[克隆到本地]
    B --> C[创建分支]
    C --> D[修改代码]
    D --> E[提交更改]
    E --> F[创建Pull Request]
    F --> G[代码审查]
    G --> H[合并到主仓库]
Issues 管理
graph TD
    A[创建Issue] --> B[分配标签]
    B --> C[指派负责人]
    C --> D[讨论解决]
    D --> E[关闭Issue]
Projects 看板
graph TD
    board[项目看板] --> todo[待办]
    board --> doing[进行中]
    board --> done[已完成]
    todo --> doing
    doing --> done
GitHub Pages
网站部署流程
graph TD
    A[创建仓库] --> B[添加文件]
    B --> C[配置Pages]
    C --> D[选择主题]
    D --> E[发布网站]
GitHub Actions
CI/CD 流程
graph TD
    A[代码提交] --> B[触发工作流]
    B --> C[运行测试]
    C --> D[构建应用]
    D --> E[部署]
常用工作流
name: CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
     - uses: actions/checkout@v2
     - name: Set up JDK
      uses: actions/setup-java@v2
      with:
        java-version: '11'
     - name: Build
      run: ./gradlew build
GitHub 功能对比
| 功能 | 免费版 | 团队版 | 企业版 | 
|---|---|---|---|
| 私有仓库 | 有限 | 无限 | 无限 | 
| 协作者 | 有限 | 更多 | 更多 | 
| 高级安全 | ❌ | ✅ | ✅ | 
| 代码审查 | ✅ | ✅ | ✅ | 
| Actions | 有限 | 更多 | 更多 | 
最佳实践
- 使用有意义的提交信息
 - 保持仓库整洁,及时清理无用分支
 - 使用 Issues 和 Projects 管理项目
 - 定期更新依赖,修复安全漏洞
 - 编写清晰的 README 文档
 
常见问题解决
1. 仓库同步
graph TD
    A[本地仓库] --> B[更新本地]
    B --> C[解决冲突]
    C --> D[提交更改]
    D --> E[更新远程]
2. 分支管理
graph TD
    main[主分支] --> dev[开发分支]
    main --> feature[功能分支]
    main --> fix[修复分支]
    dev --> main : merge
    feature --> main : merge
    fix --> main : merge