每週一書|第十週

推薦書 :精通Git 第2版

前言

在軟體開發領域,對原始碼進行版本控管是非常重要的一件事,Git 做為開源的分散式版本控制系統(VCS),於2005年釋出於世,其優秀的版本切換控制功能,及回復與災難復原的設計等,14個年頭中已帶給全球開發工作無數的便利,任何規模的專案團隊都可見其影子。在本書的內容除了介紹 Git 的基礎知識外,版本控制系統和分支模型也都有一定的介紹篇幅,同時讓讀者掌握讓人提心吊膽的 reset 指令、利用二分搜索法確定bug、編輯歷史記錄、修正版本選擇的細節等,以能夠充分、優雅地使用 Git。

 

 Git 的使用方式 

這本書從 VCS 到 Git 的基礎知識都有做介紹,包含如何開始使用 Git。接著就是介紹 Git 的用法,透過 Git 來處理日常 80% 的日常開發工作場景,並且學會了 commit 以及查閱專案歷史紀錄。當你開始熟練這些基本指令的時候,書中帶你進入下一個章節:分支模型的運用,你將會知道為什麼 Git 會在有眾多 VCS 中脫穎而出,並且書中也推薦讀者自行思考有分支在開發上的差異在哪。我們總會面臨多人協作的場景,因此我們需要架設 Git 伺服器,建立遠端的 Git Repo 與其他人進行協作。所以緊接著,作者詳述了多人的分散式工作流,Git 是如何運作的,作者也在書中的操作教學,使讀者能熟練處理多個遠端倉庫,利用電子郵件使用 Git ,並且熟練使用各式遠端分支與更新。

 

 關於 GitHub 

作者 Github 的創辦人,因此書中除了介紹如何自己架設 Git 伺服器之外,書中也介紹了 Github 這個託管服務的 Git 伺服器,他除了介紹帳戶建立與管理之外,也指導如何貢獻其他人在 Github 上的專案,包括如何貢獻的工作流等。

 

 深入 Git 的使用方式 

第七章涵蓋了 Git 的進階指令,除了可以學到多個操作方式外,也包含了 reset 指令的釐清,並且如何處理合併衝突,編輯提交的內容與紀錄的操作,第八章則是讓讀者可以客製化自己的 Git 環境,包含如何撰寫 Hook 指令稿來強制或推動自訂的提交策略,並調整環境設定選項來建立個人的工作方式,使讀者成為 Git 高手!

 

 Git 與其他的 VCS 比較 

這部分,作者著墨在 VCS 的介紹與如何讓 Git 在 SVN 環境下使用,並且指導讀者如何從舊有的版本控制轉換為 Git ,最後又說明晦澀難懂的 Git 內幕,讓讀者瞭解了所有 Git 的內容,並且充分、優雅地使用這項工具。在書中的最後一章告訴讀者: Git 儲存物件的方式、伺服器協定運作的方式等,讓讀者可以深入了解某個基礎知識。

 

總結

很多人以為 GitHub 就是 Git,其實這是一個美麗的錯誤。
現在想從事程式開發的人,Git 從很早以前就已經算是必備技能了,如果想要加強 Git 的操作,以及在 Github 上做貢獻,歡迎大家入手這本書,讓我們透過這本書開始我們的 Git 學習之旅以及在 Github 上開始貢獻專案吧!

 

每週一書連結

第一週:持續交付|使用 Java (Continuous Delivery in Java)

第二週:DevOps 和自動化運維實踐

第三週:DevOps 三十六計

第四週:持續交付2.0 業務引領的 DevOps 精要

第五週:Effective DevOps 中文版

第六週:DevOps Handbook|打造世界級技術組織的實踐指南 (中文版)

第七週:Jenkins2.x 實踐指南

第八週:Jenkins 2 權威指南

第九週:為你自己學 Git