Git 实战系列(十五)Git 学习之路
学习 Git 快一年了,感受良多,总结如下。
如何开始?
早年的时候,为了获取优质的项目和资源,注册了 GitHub 的账号,但仅仅简单用了 Star 和 Clone 功能。后来开始想在 GitHub 上面托管一些资源,陆续做了一些功课:
- Git 官方文档,第一手官方材料,由浅入深,涉及 Git 各方面的内容,建议有实操经验的同学深入阅读。
- GitHub 帮助文档,偏向实操,建议初学者阅读。而且里面涉及到一些 GitHub 特性(图形化操作、Social、Pages)可以与 Git 互补。
- 廖雪峰的博客
其实网上相关教程、博客、书籍很多,但建议初学者重心先放在:
- 基础命令的实操(推荐 Git cheatsheet,按功能分组命令,便于记忆)
- 简单概念的理解(例如重点关注 Git 文件流转的三个工作区域及远程仓库,至于配置、分支(我知道分支是 Git 的杀手锏功能,但事实上很多人只用到一个 master 分支)、工作流等先统统忽略)
然后安装好 Git,选择好一个代码托管商(如国外 GitHub,国内 GitCafe),赶紧先跑起来,再好起来!如果你曾大致了解过 Git 这一门技术,你会发现这是属于“记忆型”的技术,需要多用才熟能生巧。
我的学习轨迹
第一轮
第一轮学习从零开始,大致如下:
- 简单阅读了一些文档,用思维导图做成笔记。
- 安装客户端,实操命令。
- 把所做所得整理成 PPT,用自己的理解在团队内部做了一次技术分享,反响不错,还加深了自己的理解。
第二轮
第二轮的起因是因为想用 GitHub Pages 服务搭建一个静态博客写写文章。由于已经有了第一轮的沉淀,这回学习速度就很快了。还顺便学会了 Markdown 语法和 Hexo 博客搭建。
第三轮
第三轮是因为跳槽后新公司正好使用的是 Git,但由于团队成员用得都不熟练,因此利用空余时间进一步研究了 Git 的进阶内容:
- 分支管理与团队工作流程
- 冲突解决方案
pull
、merge
、log
、reset
、checkout
等实用命令rebase
、cherry-pick
等高级命令
整个过程使用的是“INK 学习法”,并再次将理解的内容整理成 PPT 与团队分享。这轮学习的不同之处在于:
- 以往都是个人使用 Git,使用的命令都很简单。当与团队一起使用时,问题规模不同,对工具的理解也会进一步加深。
- 与第一次纯粹分享不同,这次侧重于推广我的方案,规范团队的工作流程,将知识转化为生产力。
总结
学习的轨迹应当是螺旋向上,难易度逐轮递增。每一轮的学习主题还应有所侧重,意图一口一个大胖子的行为会噎死自己 :)
如今 Git 对我来说不止是门技术,更是一种生活方式。除了工作中每天都要用到,通过它还“连接”了我与开源世界。