跳转至

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 账号设置

  1. 访问 https://github.com 注册账号
  2. 配置 SSH 密钥
    # 生成 SSH 密钥
    ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
    
    # 查看公钥
    cat ~/.ssh/id_rsa.pub
    
  3. 将公钥添加到 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 有限 更多 更多

最佳实践

  1. 使用有意义的提交信息
  2. 保持仓库整洁,及时清理无用分支
  3. 使用 Issues 和 Projects 管理项目
  4. 定期更新依赖,修复安全漏洞
  5. 编写清晰的 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