下一章:什麼是 Git?為什麼要學習它? →


寫在最前面 - 為你自己學 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 與其它人一起工作。
  • 以及一般平常工作用不到但對觀念建立有幫助的冷知識。

你需要準備什麼?

  • 一台可以工作的電腦(不限定作業系統)
  • 這樣就夠了 :)

如何使用這本書

本書主要分以下幾部份:

  1. 環境安裝與設定
  2. 開始使用 Git
  3. 使用分支
  4. 使用標籤
  5. 修改歷史紀錄
  6. 其它常見狀況題
  7. 使用 GitHub
  8. 使用 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 addgit commit 之類的基本操作指令罷了。但其實這就有如跟冰山一角,沈在水底下的比在浮在水面上的還多,Git 的運作方式遠比這些指令來得複雜得多。所以,如果可以建立正確的觀念,在遇到問題的時候就比較不會疑惑、不知道該用什麼指令來解決。

關於我

高見龍,這看起來有點像武俠小說的名字不是筆名,而是我父母給我的本名。目前是兩個小朋友的爸爸,是個愛寫程式而且希望可以寫一輩子程式的阿宅。

若發現本書內容有誤或有任何問題,歡迎直接來信,或到本書網站 https://gitbook.tw 留言 :)


下一章:什麼是 Git?為什麼要學習它? →

Comments