> 技术文档 > Git & GitHub 实战开发完全指南:从入门到项目协作

Git & GitHub 实战开发完全指南:从入门到项目协作


一、Git 与 GitHub 基础概念解析

(一)Git 核心定义

Git 是由 Linus 开发的分布式版本控制系统,其核心价值在于:

  • 记录代码每一次修改,支持任意版本回滚
  • 实现分布式开发,支持离线工作模式
  • 通过分支机制实现并行开发与代码隔离

(二)GitHub 平台定位

GitHub 作为全球最大的代码托管平台,具有以下特性:

  • 支持开源协议管理(如 MIT、Apache 等)
  • 提供协作开发工作流(PR 机制)
  • 集成项目管理、Issue 跟踪等功能

(三)两者协作关系

二、开发环境准备工作

(一)环境搭建步骤

  1. Git 安装

    • 官网下载对应系统安装包(Git)
    • 配置环境变量(Windows 需手动添加)
  2. GitHub 账号注册

    • 邮箱验证流程
    • 用户名设置规范
  3. 身份信息配置

bash

git config --global user.name \"YourName\"git config --global user.email \"your@email.com\"

(二)SSH 密钥配置详解

  1. 密钥生成流程

bash

ssh-keygen -t rsa -C \"your@email.com\"# 连续回车使用默认存储路径和无密码验证
  1. 公钥部署到 GitHub

    • 打开 ~/.ssh/id_rsa.pub 复制内容
    • 登录 GitHub → Settings → SSH and GPG keys → New SSH key
  2. 连接验证

bash

ssh -T git@github.com# 出现 \"successfully authenticated\" 表示配置成功

三、分支管理策略与实践

(一)分支核心概念

  • 分支本质:独立的代码开发流,实现并行开发
  • 状态转换:工作区 → 暂存区 → 本地仓库 → 远程仓库

(二)标准分支模型

分支类型 用途 生命周期 master 生产环境主分支 长期保留 dev 开发集成分支 长期保留 feature/* 功能开发分支 短期,功能完成后合并删除 hotfix/* 紧急修复分支 短期,修复完成后合并删除 release/* 预发布分支 短期,发布后合并删除

(三)分支操作实战

  1. 创建与切换分支

bash

git switch -c dev # 从当前分支创建并切换到dev分支git switch小明 # 创建个人开发分支
  1. 分支状态查看

bash

git branch # 查看本地分支git branch -a # 查看所有分支(含远程)
  1. 分支合并策略

bash

# 合并到目标分支的标准流程git switch dev # 切换到目标分支git merge --no-ff -m \"合并小明的功能\" 小明

四、完整开发工作流程

(一)远程仓库创建

  1. 新建仓库步骤

    • 登录 GitHub → New Repository
    • 配置项说明:
      • Repository name: learn-git
      • Add README file: 勾选
      • .gitignore: 选择对应编程语言(如 Python)
      • License: 选择 MIT 协议
  2. 本地仓库克隆

bash

git clone git@github.com:YourUsername/learn-git.gitcd learn-git

(二)开发阶段操作

  1. 文件状态管理

bash

git status # 查看状态git add . # 添加所有修改到暂存区git commit -m \"添加V1.0功能实现\" # 提交到本地仓库
  1. .gitignore 高级用法
    • 语法示例:

      text

      .DS_Store # 忽略Mac系统文件*.png # 忽略所有PNG图片build/ # 忽略build目录

(三)协作集成流程

  1. 代码推送远程

bash

git push origin dev # 推送到远程dev分支
  1. PR 提交与合并

    • GitHub 操作路径:
      1. 进入仓库 → Pull requests → New pull request
      2. 选择源分支(dev)和目标分支(master)
      3. 填写变更说明 → Create pull request
      4. Review 通过后点击 Merge pull request
  2. 分支保护设置

    • 路径:Settings → Branches → Add branch protection rule
    • 常用配置:
      • 必须有指定数量的审批
      • 要求线性历史
      • 只允许通过 PR 合并

五、高级功能与问题解决

(一)版本回退机制

  1. 查看提交历史

bash

git log # 查看详细提交记录git log --oneline # 简洁模式
  1. 回退操作

bash

git reset --hard commit_id # 硬回退到指定版本git reset --soft commit_id # 软回退(保留修改)

(二)冲突解决策略

  1. 冲突场景示例

text

<<<<<<>>>>>> target_branch
  1. 解决流程

bash

git merge dev # 检测冲突# 手动编辑解决冲突标记git add conflict_file # 标记为已解决git commit -m \"解决冲突\"

(三)紧急任务处理

  1. stash 临时存储

bash

git stash # 保存当前工作区状态git stash list # 查看存储列表git stash apply # 恢复最近的存储
  1. cherry-pick 精准合并

bash

git cherry-pick commit_id # 将指定提交合并到当前分支