你將花費你生命中若干個小時的時間來閱讀這本有關 Git 的書,讓我們先用幾分鐘的時間來介紹一下我們為你準備的東西。 以下是本書十個主要章節以及三篇附錄的大綱。
在「第一章」我們將介紹版本控制系統(VCSs)和 Git 的基本概念:不涉及技術內容,僅介紹什麼是 Git,為什麼它會成為 VCSs 大家庭中的一員,它與其它 VCSs 的區別,以及為什麼那麼多人都在使用 Git。 然後,如果你的系統還沒有安裝 Git,我們將介紹如何下載 Git 以及如何進行設定。
在「第二章」,我們將闡述 Git 的基本使用:如何在您可能遇到的 80% 情況中使用 Git。 在閱讀這個章節以後,您應該就會克隆(clone)倉庫、查看專案歷史、修改文件和貢獻一些修改。 假設這本書在你看完這個章節後就毀損,那麼到這裡為止的知識也足夠你運用到你重新再去買一本的時候。
「第三章」關注於 Git 的分支模型。分支模型通常被稱為 Git 的殺手鐧。 在此你將體會到底是什麼東西讓 Git 如此地與眾不同。 當你學習完本章後,你可能會覺得需要一段時間來思考:在沒有 Git 分支的日子裡,到底是如何生活的。
「第四章」將會關注於伺服器端的 Git。 這一章是給那些想要在您的組織內或你自己個人的協作伺服器上面設置 Git 的人。 如果你希望採用別人維護的伺服器,在此也會提供許多託管的選擇。
「第五章」將帶你看過各種分散式工作流程的完整細節,以及如何使用 Git 來完成這些流程。 當你學完這個章節後,你應該能夠熟練地使用多個遠端版本庫、透過電子郵件使用 Git、巧妙地兼顧眾多遠端分支並貢獻補綴。
「第六章」將談到 GitHub 託管服務以及更進階的工具。我們將談到註冊與帳號管理,創建和使用 Git 版本庫,貢獻到專案的 共通工作流程以及接受他人貢獻到你的專案,GitHub 的程式設計介面(programmatic interface)和那些能夠讓您的生活變得更輕鬆的小技巧。
「第七章」關於 Git 的進階命令。
您將學習到一些進階主題,諸如掌握可怕的 reset 命令,使用二分搜尋來找出錯誤,修改
歷史,更細微的版本選擇…等等。
本章的介紹將豐富您的 Git 知識,讓您成為一個真正的大師。
「第八章」是關於如何設定你自己的 Git 環境。 這個章節包括設定掛鉤程式來執行或貫徹自訂的策略;以及如何使用環境設定來讓你可以用你喜歡的方式做事。 我們還會提到如何建立自訂的程式來執行一個自訂的提交策略。
「第九章」是關於 Git 如何應對其他 VCSs 的能力。 這章節將會提到如何在 Subversion(SVN)的世界使用 Git 以及如何從其他 VCSs 轉換為 Git。 很多組織仍然在使用 SVN,而且並不想要改用 Git,在此你將學到 Git 不可思議的魔力——如果你不得不使用 SVN 伺服器,這個章節將告訴你怎麼做。 這個章節還會提到如何從不同系統匯入專案,以便你能夠全心全力投入 Git 的懷抱。
「第十章」將深入 Git 神秘、漂亮的實現細節。現在,您已經知道所有有關 Git 的知識,並且能夠把 Git 用的強大、優雅。 接下來,您可以繼續學習 Git 如何存儲對象、Git 的對象模型是怎樣的、打包文件的細節、服務器協議…等更多知識。 在這整本書中,我們會在適當的地方引用本章節的內容,以便您可以深入理解某部分的實作細節。 如果你和我們一樣想要深入理解 Git 全部的實作細節,您也可以先閱讀第十章。 我們將選擇權交給您。
在「附錄 A」我們將會看到在各種特定環境中使用 Git 的範例。 我們將會涵蓋一些您可能會想用 Git 的不同 GUIs 和 IDE 程式環境。 如果你想在 shell、Visual Studio 或 Eclipse 中使用 Git,那就看看這章的內容吧。
在「附錄 B」我們將探索透過類似 libgit2 和 JGit 等工具來對 Git 編寫腳本或擴充。 如果你對寫複雜且快速的自訂工具感興趣,而且想要了解 Git 的底層存取,那麼這章就是你需要的。
最後在「附錄 C」,我們會一次看過所有 Git 的主要命令,複習在本書中介紹的內容,回憶我們能夠使用這些命令做什麼。 如果您需要知道本書中我們使用了哪些 Git 命令,您可以在這裡查閱。
現在,讓我們開始吧。