CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Git/GitHub 入门实战/课时/路线图对照
RawBlame
课时目录12 节

Git/GitHub 入门实战

  1. 01Git 基础概念
  2. 02基本 Git 操作
  3. 03Git 进阶
  4. 04GitHub 入门
  5. 05协作基础
  6. 06分支工作流
  7. 07Pull Request
  8. 08Issues 管理
  9. 09团队协作
  10. 10安全习惯
  11. 11路线图对照
  12. 12综合练习

路线图对照

beginner vs essentials 路径。

20 分钟

路线图对照

这一课你将能做到

  1. 对照 git-github-beginner 路线图,完整梳理你已掌握的所有节点
  2. 明确 beginner 与 essentials 两个层级的边界,知道下一步学什么
  3. 把 Git 知识映射到本站其他技术栈(Java、Spring、MySQL)的开发流程中

为什么要学

学了 10 节课,你需要一张完整的「地图」来确认自己没有遗漏。这一课不是新内容,而是一次全景复盘——把你学过的每个命令、每个概念,放回它在整个技术版图中的位置。同时也为你指明下一阶段(git-github-essentials)的方向。

先建立图像

本 track 覆盖的知识地图:

Git 基础(第 1-3 课)
├── 三大区域:工作区 / 暂存区 / 仓库
├── 核心命令:add / commit / log / diff / restore / switch
├── 分支模型:分支即指针、HEAD、merge、stash、tag
└── 撤销与恢复:reset / revert / reflog

GitHub 协作(第 4-5 课)
├── 远程操作:clone / push / pull / fetch
├── 认证方式:SSH / Token
└── Fork 模型:origin / upstream / PR

工作流与规范(第 6-9 课)
├── 分支策略:GitHub Flow / Git Flow
├── PR 流程:描述模板 / review / CI
├── Issues 管理:Label / Milestone / Closes
└── 团队文化:Code Review / 冲突协调

安全底线(第 10 课)
├── .gitignore 配置
├── 环境变量管理密钥
└── 泄露应急:BFG / filter-repo / 凭证轮换

跟着做

步骤 1:打开本站路线图自查

访问 /roadmaps/git-github-beginner,逐个节点对照以下清单打钩:

基础必会(全部应该 ✅):

  • 能解释 Git 三大区域并演示 add/commit 流程
  • 会用 git log --oneline --graph 查看分支图
  • 会用 git switch / restore(知道与 checkout 的关系)
  • 会创建、合并、删除分支
  • 会用 stash 暂存工作区

GitHub 协作(全部应该 ✅):

  • 配置过 SSH 密钥并能 push/pull
  • 理解 origin vs upstream 的区别
  • 走过完整的 Fork → PR 流程(哪怕只是练习仓库)

工作流(至少 80% ✅):

  • 能说出 GitHub Flow 与 Git Flow 的差异
  • 能写出合格的 PR 描述(动机/改动/验证)
  • 会用 Closes #N 关联 Issue
  • 知道如何处理 review 反馈
  • 安全(全部应该 ✅):

    • 项目中配置了 .gitignore
    • 密钥通过环境变量管理
    • 知道泄露后的应急流程

    步骤 2:识别薄弱环节

    对没打钩的节点,回到对应课时复习:

    未掌握节点回炉课时
    三大区域、HEADghbb-intro
    restore/reset/revertghbb-basics
    merge/rebase/stashghbb-git
    push/pull/远程跟踪ghbb-github
    Fork/PR/upstreamghbb-collab
    分支模型选择ghbb-workflow
    PR 描述与审查ghbb-pr
    Issue 与里程碑ghbb-issues
    Code Review 礼仪ghbb-team
    密钥管理ghbb-security

    步骤 3:把 Git 融入日常开发流

    以本站 java-nav 为例,一次完整的功能开发应该是:

    # 1. 接到 Issue #23:为课程页添加搜索功能
    git switch main && git pull
    
    # 2. 开功能分支
    git switch -c feature/course-search
    
    # 3. 开发 + 小步提交
    git commit -m "feat(course): 新增搜索 Controller"
    git commit -m "feat(course): 实现搜索 Service 层"
    git commit -m "test(course): 补充搜索接口测试"
    
    # 4. 同步主干
    git merge main
    
    # 5. 推送并发 PR(描述里写 Closes #23)
    git push -u origin feature/course-search
    
    # 6. 通过 review、CI 绿、合并、删分支
    git switch main && git pull
    git branch -d feature/course-search
    

    把这个流程练成肌肉记忆,你在任何公司都能立刻上手。

    步骤 4:规划下一阶段(essentials 路线)

    git-github-essentials 会深入这些主题:

    • rebase 进阶:交互式 rebase 整理历史、squash、fixup
    • cherry-pick 与 reflog 高级用法:从任何事故中恢复
    • Git Hooks:pre-commit 钩子做自动检查
    • GitHub Actions:CI/CD 自动化
    • Git LFS:管理大二进制文件
    • 子模块(submodule)与 monorepo:大型项目组织方式

    讲清楚要点

    1. 路线图不是考试清单:不需要每个节点都 100% 精通,标记「见过」「用过」「熟练」三档即可。
    2. 工具是为流程服务的:学 Git 不是为了背命令,而是为了支撑团队协作流程。理解流程,命令自然记住。
    3. 本站项目就是最好的练习场:java-nav 的所有源码都在 GitHub,你可以 fork 它、改它、提 PR,把学到的每一招都用一遍。
    4. essentials 不等于更难:是把 beginner 的「会用」升级为「用好」,比如从「会 merge」升级到「会判断该 merge 还是 rebase」。
    5. 知识会过时,心智模型不会:具体命令可能改版(比如 checkout 拆成 switch/restore),但「三大区域」「分支即指针」这些底层模型是永恒的。

    你可能会懵的地方

    • 我需要把所有命令都背下来吗? 不需要。记住 20 个核心命令(add/commit/push/pull/switch/merge/log/diff/status/restore/stash 等)就够应付 95% 场景,剩下的查文档。

    • 学完 beginner 能去面试吗? 能应对初级岗位。中高级岗位会问 rebase、submodule、Git Hooks 等 essentials 内容。

    • 路线图上的节点我都要点亮吗? 不必一次全点亮。建议策略:核心节点(标记为必学的)先打通,边缘节点用到时再回头学。

    • 学完 Git 下一步学什么? 和 Git 配套的技能:Linux 命令行、Shell 脚本、CI/CD(GitHub Actions)、Docker。这些都是工程师的「通用基础设施」。

    • 我能不能跳过 essentials 直接干活? 能。beginner 已经覆盖日常工作 80% 场景。essentials 是「遇到复杂情况时」的武器库,可以边工作边补。

    错法对照

    错法问题正解
    想一次掌握所有 Git 命令记不住、容易挫败掌握核心 20 个,其他用到再查
    只看不练学完就忘每个命令至少在真实仓库敲 3 遍
    卡住就死磕浪费数小时卡住 30 分钟就查文档/提问
    不敢在真实项目用新学的命令永远停留在练习在 fork 的本站仓库里放心折腾
    忽视 commit message 规范历史无法追溯养成「类型: 描述」习惯

    卡点急救

    1. 学完全部课但感觉什么都没记住:正常。Git 是技能不是知识,必须通过反复实操内化。建议每天用 Git 管理一个真实项目,一个月后回头看会发现全都懂了。
    2. 不知道怎么判断自己是否掌握了某个节点:试着向别人(或对着空气)讲解这个知识点。讲不清楚就是没掌握。
    3. 路线图上的节点和课程内容对不上:路线图会持续迭代,课程内容跟随主流版本。发现不一致时以课程内容为准,并在 Issue 区反馈。

    面试常问

    • 你的 Git 学习路径是怎样的? 推荐答法:先掌握三大区域和核心命令(beginner),再在真实项目中应用 GitHub Flow,最后深入 rebase、Hooks、CI 集成(essentials)。强调「用过」比「学过」重要。

    • 你怎么保证团队 Git 使用规范? 三层保障:CONTRIBUTING.md 写清分支模型与提交规范;pre-commit hook 自动检查代码风格;PR 模板 + 强制 review 把关入口。

    • Git 在你上一个项目中扮演什么角色? 准备一个具体案例:比如「我用 feature 分支 + PR 的方式独立完成了课程搜索模块,期间通过 rebase 保持历史整洁,通过 stash 处理了线上紧急 bug 的中断」。

    自测三问

    1. 本 track 的 11 节课,你能画出它们之间的知识依赖图吗?
    2. 哪些节点是你「见过但没用过」的?计划怎么补齐?
    3. 如果明天去面试,你能用 Git 知识讲一个 3 分钟的项目故事吗?

    小结一句话

    路线图不是终点而是坐标系——知道自己在哪、要去哪,比记住每个命令更重要。

    延伸

    • 本站 Git 路线图
    • 下一课:综合练习——用一次完整的 Fork + PR 流程,为本站提交你的第一个贡献。
    加载本节练习…
    ← 上一课安全习惯下一课 →综合练习