寫在最前面 - 為你自己學 Git!
為什麼要寫這本書
在周星馳的《大話西遊》電影裡,至尊寶拿著月光寶盒大喊一聲「波若波羅密」便可穿越時空,回到過去救他的娘子;或像動畫《多啦 A 夢》房間抽屜裡時光機,隨時可以回到過去解救世界。Git 這個工具雖然沒辦法真的讓我們可以穿越時空(有的話請一定要讓我知道,我要回到過去買大樂透),但對電腦工作者來說,它就像時光機一樣的神奇,可以讓你回到指定的時間點,或是救回不小心被刪除的檔案。
Git 看起來很容易學(事實上也不算難學),但這只是表象,實際上 Git 是一款讓人一開始覺得很容易學但卻很難精通的工具。坊間的參考書籍或網路資料大多會教大家從終端機指令來學習 Git,這讓不少有興趣想學習的新手打退堂鼓。
我也認同 Git 指令很重要,因為那是整個 Git 的基礎,所以學習在終端機視窗敲打、輸入 Git 指令是必經過程。但是如果可以搭配圖形介面工具(GUI 工具),可以讓這個學習曲線稍微緩和一些。所以本書除了 Git 指令介紹外的同時,也會使用圖形介面工具(本書使用 SourceTree)輔助說明,讓大家更容易上手。
因為個性的關係,在學習新事物的過程中如果有疑惑的地方,總是希望可以搞懂為止,否則知其然而不知其所以然,沒辦法真的把一門技術搞懂會痛苦得睡不著覺。也因為這樣,本書在撰寫的時候也發揮了我這個人囉嗦的專長,即使是很簡單的小地方,也希望可以儘量解釋清楚。希望可以不只可以教大家如何用(How),也能讓大家知道在用什麼(What),以及為什麼(Why)要這樣用。
雖然本書是以中文撰寫,但專有名詞大多還是英文,這些名詞或我會儘量使用英文來表示。除了每個人的翻譯可能不一樣或是翻譯之後沒有原文貼切之外,例如「Commit」、「Repository」、「Fetch」等字,最重要的一點,是希望各位能儘早習慣這些英文,因為實際在業界工作時,很多第一手的資料都是英文的,早點習慣英文對大家絕對是有幫助的。
誰適合本書
只要你對 Git 這個工具有興趣都適合。
如果你平日的工作已有在使用 Git,本書大部份的內容對你來說應該是相對的輕鬆;但即使已經平日有在使用 Git 的人,也可從本書學到一些「本來以為 Git 是這樣,但其實是那樣」的觀念。
本書內容
會包括以下內容
- 常用 Git 指令介紹。
- 各種 Git 的常見問題及使用情境。
- 如何修改 Git 的歷史紀錄。
- 如何使用 GitHub 與其它人一起工作。
- 以及一般平常工作用不到但對觀念建立有幫助的冷知識。
你需要準備什麼?
- 一台可以工作的電腦(不限定作業系統)
- 這樣就夠了 :)
如何使用這本書
本書主要分以下幾部份:
- 環境安裝與設定
- 開始使用 Git
- 使用分支
- 使用標籤
- 修改歷史紀錄
- 其它常見狀況題
- 使用 GitHub
- 使用 Git flow
雖然每個章節的內容多少都還跟前面的章節有關,但也不一定要從第一章開始依序閱讀(當然這也是一種方式),可依自己需要跳過部份章節。
使用版本
本書使用的 Git 版本為 2.21.0
,您可使用 git --version
指令來檢視您目前所使用的 Git 版本:
$ git --version
git version 2.21.0
如果是不同的版本,一樣的指令或參數可能會有不同的執行結果。
程式碼慣例
在學習、使用 Git 的時候,會有很多機會需要在終端機(Terminal)模式下輸入指令,例如:
$ git add index
或是這樣:
$ git commit -m "init commit"
[master (root-commit) 5d47270] init commit
2 files changed, 1 insertion(+)
create mode 100644 config/database.yml
create mode 100644 index.html
在最前面的 $
符號是系統提示字元,意思是告訴大家這是一個需要在終端機環境下手動輸入的指令,而它的下一行則是這個指令執行的結果。實際在輸入指令的時候請不要跟著輸入 $
,不然可能會出現 command not found
的錯誤訊息。
程式範例及錯誤更正
本書所有的範例在 Git 版本 2.21.0
以及 MacOS 10.13 版本作業系統的環境下均已測試可正常執行,部份範例可在我的 GitHub 帳號https://github.com/kaochenlong取得。但隨著軟體的版本演進,或是作業系統的不同,範例程式執行的結果可能會有些微的差異(甚至是錯誤)。若有任何問題,或是有哪邊寫錯,還請各位先進不吝來信、留言指教。
最後,希望各位會喜歡這本書,一起來學習 Git 這個看似好學但又不容易學得好的有趣工具 :)
關於學習
輸入指令可能很嚇人,但它很重要!
對學習 Git 的新手來說,打開終端機、輸入 Git 指令是件嚇人的事。
即使有像 SourceTree 或 GitHub Desktop 之類方便的圖形介面工具可使用,我個人仍是強烈建議一定要了解 Git 的運作原理。而透過輸入、執行 Git 指令,正是最容易可以了解 Git 運作的方法之一。
不要害怕輸入指令、不要害怕那些看起來很嚇人的訊息,不然即使有圖形介面工具軟體,也可能不知道按了這個按鈕之後會發生什麼事,而導致不正確的使用 Git。
觀念很重要
很多人,包括我自己也是,在一開始學習 Git 的時候,只覺得它就是簡單的學習 git add
跟 git commit
之類的基本操作指令罷了。但其實這就有如跟冰山一角,沈在水底下的比在浮在水面上的還多,Git 的運作方式遠比這些指令來得複雜得多。所以,如果可以建立正確的觀念,在遇到問題的時候就比較不會疑惑、不知道該用什麼指令來解決。
關於我
高見龍,這看起來有點像武俠小說的名字不是筆名,而是我父母給我的本名。目前是兩個小朋友的爸爸,是個愛寫程式而且希望可以寫一輩子程式的阿宅。
- 五倍紅寶石程式資訊教育創辦人及負責人
- Blog: https://kaochenlong.com
- Facebook: https://www.facebook.com/eddiekao
- Twitter: https://twitter.com/eddiekao
- Github: https://github.com/kaochenlong
- Email: [email protected]
若發現本書內容有誤或有任何問題,歡迎直接來信,或到本書網站 https://gitbook.tw 留言 :)
Comments