最近開啟了一波瘋狂模式,和掘金合作,花一個月的時間,無休息日、天天加班地寫了一本掘金小冊。這本小冊的名字是:Git 原理詳解和使用指南。這本小冊簡單來說,是一本幫助那些始終學不會、學不好 Git 的人真正一次性學會 Git 的小體積電子書。
也就是說,這不僅是一個 Git 入門的教程,更是一個 Git 技能瓶頸突破的指南。你越是學習過很多次 Git 卻不得其道,越是被 Git 虐過很多次,這本小冊越可能適合你。
更多的介紹我就盜一下自己在掘金的描述了:
↓↓↓↓↓以下內容摘自我的掘金小冊↓↓↓↓↓
小冊簡介
「Git 好難啊!」不會用 Git 和會用 Git 的人都這麼說。
隨著這幾年 GitHub 的流行,Git 已經是一個程式設計師逃不過的技術項,但很多人卻紛紛倒在了學習它的路上。而且,出於工作原因而不得不用 Git 的人,有不少在工作中對 Git 也是能不用就不用,生怕哪個命令用錯就把公司的程式碼庫毀掉了?。而那些對 Git 掌握得比較好的少數人,就像團隊中的神一樣,在同事遇到 Git 相關的問題的時候用各種風騷操作來拯救隊友于水火。
學不會、學不好 Git 的人,其實多數並不是不願意學。很多人都會嘗試去網上找 Git 教程、去社群請教高手、在公司諮詢同事,但轉了一大圈下來,依然沒有搞懂,甚至有可能越來越糊塗。
– 你剛才輸入的這個 Git 指令是什麼意思?
– 意思是 XXX。
– 可你上次跟我說它的意思是 YYY 啊?
– 嗯對,不同的場景不同的用法,上次是 YYY。
– ……好吧。另外你上次幫我解決這個問題用的是另一個指令 zzz 啊?
– 嗯對,那個也能解決,但這次用這個指令更適合,因為 @#¥@%*&。
– ……
– 懂了嗎?不懂的話還可以問我,沒事的。
– ……
Git 學習到底難在哪?
Git 的學習曲線很不友好:想上手很容易,只要學會 commit、push、pull 等幾個指令,就能夠初步地使用它;但如果想要更進一步,讓自己能夠在團隊專案中和朋友或同事自由合作,卻又很難。
那麼 Git 到底難在哪呢?
其實關鍵在於一點:概念。
Git 的概念,是由一套完整的思維邏輯所構成的。你不能從多個角度分步理解它,而是要把它作為一個整體一下子吃掉;而同時這個「整體」由於過於複雜,又實在有點難以一口吞。頗有點悖論的意味。
很多人在使用 Git 一段時間後,會覺得 Git 有點複雜和混亂:
– 為什麼要 commit 後再 push 這麼囉嗦,而不能直接提交到中央倉庫?
– reset 這個指令為什麼這麼神奇,好多看起來並不相似的操作卻都要用到它?它到底是幹嘛的?
– revert 和 rebase 都可以撤銷歷史提交?它們的區別在哪?什麼,你說 reset 也行?
類似的問題其實還有很多。這些問題看起來每個都很難,但只要你把 Git 的概念瞭解了,這些問題(以及那些許許多多我沒有列出來的問題)就全都迎刃而解了。
學懂了概念,就能學懂 Git,就這麼簡單。可是市面上的很多 Git 教程都只停留在了 Git 的使用上,而對它的概念卻總是一筆帶過或乾脆提都不提。這裡的原因,我猜可能是因為它的概念太難講清楚了,也可能是因為這些作者其實也對 Git 的許多概念並不夠了解吧(這句是胡說八道,Git 教程的作者們請放下手中的槍)。
你為什麼應該選擇這本小冊?
讀了這本小冊,你可以徹底理解 Git,從而徹底會用 Git。Git 的很難,但別擔心,讀了這本小冊你就從根本上掌握它了(雖然熟練使用還會需要一些時間來練習)。
我寫技術文章,比較喜歡挑難的寫:難學會的,難講清的。我寫過 RxJava 的詳解,寫過 Android 自定義 View 的原理,目前來看反饋都很不錯。這些「學的人學不會,講的人講不明白」的東西,寫起來很痛苦,但寫完之後的成就感也挺大,我會去跟老婆吹牛:「這東西好多人都講不明白,我給講明白了,你看這些人看了以後留言多激動」(這話只敢在家說,出去說怕被打)。而且,寫著寫著,我也越來越明白怎麼把複雜的技術講簡單、講透徹。
所以簡單地總結:Git 難學,是因為它的概念難以整體理解。而這本小冊,就是從概念的角度出發,幫你先從本質上了解 Git 的工作模型,在此基礎上去了解它的具體用法,以此來達到四兩撥千斤的學習效果。而且這樣的學習具有更高的永續性,在看完這本小冊之後,你以後也很難再忘掉 Git 的用法了。
你會學到什麼?
- Git 的基本用法
- Git 的高階用法
- Git 的概念和本質
- Git 中的常見問題的處理方式
- Git 中的高階需求的解決方案
例如:
「如何修改歷史提交中的錯誤」「誤刪 branch 怎麼辦」「merge 和 rebase 的區別」「reset 的幾種實用用法」這類東西又多又難記,但其實你根本不用去記他們。在你瞭解了 Git 的本質之後,不僅這些日經問題你能輕鬆解答,而且一些罕見的、複雜的問題,你也應付得來。
你應該已經具備什麼?
- 基本的程式設計能力
- Linux / Unix 的 Terminal 或 Windows 的 CMD 控制檯的基本使用經驗
你需要準備什麼?
- 一臺用於讀小冊和做簡單練習的可以聯網的電腦
你需要做什麼?
- 把這本小冊認真讀完
- 在讀的過程中把所有練習做完
然後,你就可以在工作中自如地使用 Git 了。而且很快,你就能成為同事眼裡的那個神奇的「救火隊員」(如果你願意的話)。
讀完這本小冊你會發現,Git 真的不難。
↑↑↑↑↑以上內容摘自我的掘金小冊↑↑↑↑↑
如果你習慣於我的文章風格,並且對 Git 的掌握有需求,可以試試這本小冊。
但更重要的是,如果你在網上看過很多中文的英文的、有名的沒名的 Git 教程卻始終沒有能夠真正會用 Git,你真的應該點開這本小冊看一看。
小冊傳送門:Git 原理詳解和使用指南