最近开启了一波疯狂模式,和掘金合做,花一个月的时间,无休息日、每天加班地写了一本掘金小册。这本小册的名字是:Git 原理详解和使用指南。这本小册简单来讲,是一本帮助那些始终学不会、学很差 Git 的人真正一次性学会 Git 的小体积电子书。程序员
也就是说,这不只是一个 Git 入门的教程,更是一个 Git 技能瓶颈突破的指南。你越是学习过不少次 Git 却不得其道,越是被 Git 虐过不少次,这本小册越可能适合你。编程
更多的介绍我就盗一下本身在掘金的描述了:学习
↓↓↓↓↓如下内容摘自个人掘金小册↓↓↓↓↓3d
「Git 好难啊!」不会用 Git 和会用 Git 的人都这么说。cdn
随着这几年 GitHub 的流行,Git 已是一个程序员逃不过的技术项,但不少人却纷纷倒在了学习它的路上。并且,出于工做缘由而不得不用 Git 的人,有很多在工做中对 Git 也是能不用就不用,生怕哪一个命令用错就把公司的代码库毁掉了🙈。而那些对 Git 掌握得比较好的少数人,就像团队中的神同样,在同事遇到 Git 相关的问题的时候用各类风骚操做来拯救队友于水火。blog
学不会、学很差 Git 的人,其实多数并非不肯意学。不少人都会尝试去网上找 Git 教程、去社区请教高手、在公司咨询同事,但转了一大圈下来,依然没有搞懂,甚至有可能愈来愈糊涂。教程
- 你刚才输入的这个 Git 指令是什么意思?
- 意思是 XXX。
- 可你上次跟我说它的意思是 YYY 啊?
- 嗯对,不一样的场景不一样的用法,上次是 YYY。
- ……好吧。另外你上次帮我解决这个问题用的是另外一个指令 zzz 啊?
- 嗯对,那个也能解决,但此次用这个指令更适合,由于 @#¥@%*&。
- ……
- 懂了吗?不懂的话还能够问我,没事的。
- ……get
Git 的学习曲线很不友好:想上手很容易,只要学会 commit、push、pull 等几个指令,就可以初步地使用它;但若是想要更进一步,让本身可以在团队项目中和朋友或同事自由合做,却又很难。it
那么 Git 到底难在哪呢?io
其实关键在于一点:概念。
Git 的概念,是由一套完整的思惟逻辑所构成的。你不能从多个角度分步理解它,而是要把它做为一个总体一会儿吃掉;而同时这个「总体」因为过于复杂,又实在有点难以一口吞。很有点悖论的意味。
不少人在使用 Git 一段时间后,会以为 Git 有点复杂和混乱:
- 为何要 commit 后再 push 这么啰嗦,而不能直接提交到中央仓库?
- reset 这个指令为何这么神奇,好多看起来并不类似的操做却都要用到它?它究竟是干吗的?
- revert 和 rebase 均可以撤销历史提交?它们的区别在哪?什么,你说 reset 也行?
相似的问题其实还有不少。这些问题看起来每一个都很难,但只要你把 Git 的概念了解了,这些问题(以及那些许许多多我没有列出来的问题)就全都迎刃而解了。
学懂了概念,就能学懂 Git,就这么简单。但是市面上的不少 Git 教程都只停留在了 Git 的使用上,而对它的概念却老是一笔带过或干脆提都不提。这里的缘由,我猜多是由于它的概念太难讲清楚了,也多是由于这些做者其实也对 Git 的许多概念并不够了解吧(这句是胡说八道,Git 教程的做者们请放下手中的枪)。
读了这本小册,你能够完全理解 Git,从而完全会用 Git。Git 的很难,但别担忧,读了这本小册你就从根本上掌握它了(虽然熟练使用还会须要一些时间来练习)。
我写技术文章,比较喜欢挑难的写:难学会的,难讲清的。我写过 RxJava 的详解,写过 Android 自定义 View 的原理,目前来看反馈都很不错。这些「学的人学不会,讲的人讲不明白」的东西,写起来很痛苦,但写完以后的成就感也挺大,我会去跟老婆吹牛:「这东西好多人都讲不明白,我给讲明白了,你看这些人看了之后留言多激动」(这话只敢在家说,出去说怕被打)。并且,写着写着,我也愈来愈明白怎么把复杂的技术讲简单、讲透彻。
因此简单地总结:Git 难学,是由于它的概念难以总体理解。而这本小册,就是从概念的角度出发,帮你先从本质上了解 Git 的工做模型,在此基础上去了解它的具体用法,以此来达到四两拨千斤的学习效果。并且这样的学习具备更高的持久性,在看完这本小册以后,你之后也很难再忘掉 Git 的用法了。
例如:
「如何修改历史提交中的错误」「误删 branch 怎么办」「merge 和 rebase 的区别」「reset 的几种实用用法」这类东西又多又难记,但其实你根本不用去记他们。在你了解了 Git 的本质以后,不只这些日经问题你能轻松解答,并且一些罕见的、复杂的问题,你也应付得来。
而后,你就能够在工做中自如地使用 Git 了。并且很快,你就能成为同事眼里的那个神奇的「救火队员」(若是你愿意的话)。
读完这本小册你会发现,Git 真的不难。
↑↑↑↑↑以上内容摘自个人掘金小册↑↑↑↑↑
若是你习惯于个人文章风格,而且对 Git 的掌握有需求,能够试试这本小册。
但更重要的是,若是你在网上看过不少中文的英文的、有名的没名的 Git 教程却始终没有可以真正会用 Git,你真的应该点开这本小册看一看。
小册传送门:Git 原理详解和使用指南