Skip to content

第14章:拓展学习方向

14.1 Git 高级特性(git rebase、git cherry-pick 等,进阶必备)

1. git rebase(变基)

功能:将一个分支的提交应用到另一个分支上,使提交历史更加线性。

用法

bash
# 切换到要变基的分支
git checkout feature-branch
# 执行变基,将 feature-branch 的提交应用到 main 分支上
git rebase main

注意

  • 不要对已经推送到远程仓库的提交使用 rebase
  • rebase 会改变提交历史,使用需谨慎

2. git cherry-pick(挑选提交)

功能:从一个分支中选择特定的提交应用到当前分支。

用法

bash
# 查看目标分支的提交历史
git log --oneline other-branch
# 选择特定的提交应用到当前分支
git cherry-pick <提交哈希>

应用场景

  • 只需要其他分支的某个特定功能
  • 修复在多个分支中都存在的 bug

3. git bisect(二分查找)

功能:通过二分查找定位引入 bug 的提交。

用法

bash
# 开始二分查找
git bisect start
# 标记当前版本为有 bug
git bisect bad
# 标记某个版本为无 bug
git bisect good < bug 的提交哈希>
# Git 会自动切换到中间版本,测试后标记好坏
git bisect bad/good
# 找到引入 bug 的提交后,结束二分查找
git bisect reset

4. git submodule(子模块)

功能:在一个 Git 仓库中包含另一个 Git 仓库。

用法

bash
# 添加子模块
git submodule add <子模块地> <>
# 克隆包含子模块的仓库
git clone --recursive <仓库地>
# 更新子模块
git submodule update --remote

14.2 持续集成/持续部署(CI/CD)与 Git 结合(了解即可)

1. CI/CD 概念

  • 持续集成(CI):频繁地将代码集成到主干分支,每次集成都通过自动化测试验证
  • 持续部署(CD):将通过测试的代码自动部署到生产环境

2. Git 与 CI/CD 的结合

常用 CI/CD 工具

  • GitHub Actions
  • GitLab CI/CD
  • Jenkins
  • Travis CI

工作流程

  1. 开发者提交代码到 Git 仓库
  2. CI 工具自动触发构建和测试
  3. 测试通过后,CD 工具自动部署到目标环境

示例(GitHub Actions)

yaml
# .github/workflows/ci.yml
name: CI
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '14'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: npm test

15.3 大型项目 Git 管理规范(企业级实践)

1. 分支管理策略

Git Flow

  • master/main 分支:生产代码
  • develop 分支:开发集成
  • feature 分支:功能开发
  • release 分支:版本发布
  • hotfix 分支:紧急修复

GitHub Flow

  • main 分支:生产代码
  • feature 分支:功能开发
  • 合并请求:代码审查

2. 提交规范

Conventional Commits

<类型>(<范围>): <描述>

[可选的正文]

[可选的页脚]

类型

  • feat:新功能
  • fix:修复 bug
  • docs:文档更新
  • style:代码风格修改
  • refactor:代码重构
  • test:测试相关
  • chore:构建或依赖更新

3. 代码审查流程

  1. 开发者创建功能分支并提交代码
  2. 推送分支到远程仓库
  3. 创建合并请求/PR
  4. 团队成员审查代码
  5. 审查通过后合并到主分支
  6. 删除功能分支

15.4 开源项目贡献流程(fork + PR 完整操作)

1. 贡献步骤

  1. Fork 仓库:在 GitHub 上 fork 目标开源仓库到自己的账号
  2. 克隆仓库:将 fork 后的仓库克隆到本地
    bash
    git clone <fork后的仓库地>
    cd <仓库>
  3. 创建分支:创建新的功能分支
    bash
    git checkout -b feature-new
  4. 开发代码:实现功能或修复 bug
  5. 提交代码:提交修改并推送到远程
    bash
    git add .
    git commit -m "feat: 添加新功能"
    git push origin feature-new
  6. 创建 PR:在 GitHub 上创建从自己分支到原仓库的 Pull Request
  7. 代码审查:原仓库维护者审查代码
  8. 合并代码:审查通过后,代码被合并到原仓库

2. 同步原仓库更新

bash
# 添加原仓库为 upstream
git remote add upstream <原仓库地>
# 拉取原仓库更新
git fetch upstream
# 合并到本地 main 分支
git checkout main
git merge upstream/main
# 推送到自己的 fork 仓库
git push origin main

通过学习这些拓展内容,你可以更深入地了解 Git 的高级功能和企业级应用场景,为成为 Git 专家打下基础。

© 2026 编程马·菜鸟教程 版权所有