歡迎來到 Pro Git 的第二版。 第一版發行至今已經超過 4 年了。 從那個時候到現在,有很多東西已經改變了,但也有很多重要的事情沒有改變。 獲益於 Git 核心團隊令人吃驚的向下相容程度,所以大多數核心命令和概念至今仍然有效。與此同時,在 Git 的相關社群中,也有一些重大的新增和改變。 這本書第二版是為了處理這些改變並更新這本書,使得這本書可以對新使用者更有幫助。
當我寫第一版時,Git 是個相當難用而且只適合重度使用者使用的工具。 它在當時的社群中使用率開始蒸蒸日上,但還沒像今天一樣無所不在。 至今,幾乎所有的開源社群都已經採用它。 Git 在 Windows、各種平台上的圖形化介面、對 IDE 的支援、和商業使用上都已經有了難以置信的進展。 四年前的 Pro Git 這本書根本無法預知到這些事。 這個新版本主要的目標之一就是要接觸這些在 Git 社群中的最新的東西。
有在使用 Git 的開放原始碼社群也暴增了。 當我在大約五年前坐下來寫這本書時(第一版花了我一些時間寫出來),我開始在一家發展網頁版 Git 託管服務且小有名氣的公司工作,名為 GitHub。 在第一版發佈時,大概只有幾千人在使用 GitHub,而且這個公司只有 4 個員工。 當我現在在寫這個序的時候,GitHub 第一千萬個被託管的專案已經產生,還有將近 500 萬個註冊的開發者帳戶和 230 個員工。 不論是非對錯,GitHub 用了我在第一版時難以想像的方式,劇烈地改變了大片的開源社群。
我在 Pro Git 的第一版中寫了一個用 GitHub 來託管 Git 的範例,這是一個我不是很喜歡的部分。 我不是很喜歡在這個我完全是寫給社群的資源中提到我的公司。 到了現在第二版,我仍然很不希望這樣,但 GitHub 在 Git 社群中的重要性卻已經是無法避而不談。 所以除了這個 Git 託管的範例,我已經決定把書的那部分變成更有深度地去描述何謂 GitHub 和如何有效的使用它。 如果你要學習如何使用 Git,那麼知道如何使用 GitHub 將會幫助你融入這個龐大的社群,而且無論你要把程式碼託管在哪裡,都是有足夠參考價值的。
從第一版到現在還有個重要的改變,就是在 Git 傳輸資料的方法新增並大量使用 HTTP 協定。因為 HTTP 的簡便性,在書中大部分的例子已經從 SSH 改用 HTTP。
看到 Git 近年來的發展,從一個相對模糊的版本控制系統變成一個基本上主導了開放原始碼和商業的版本控制系統,這真的很令人驚豔。我很開心 Pro Git 這本書能表現得這麼好,它是世上既成功又完全開放原始碼的資訊書籍之一。
我希望你能享受這個新版的 Pro Git。
這本書的第一版就讓我迷上了 Git,讓我為你介紹一個用更自然且我前所未見的方式去製作軟體。我作為一個軟體開發者已經數年了,但這方式讓我踏入一條比以前更嶄新有趣的路。
經過幾年後的現在,我是一個主要 Git 實作的貢獻者,我已經在最大的 Git 託管服務公司工作,然後我環遊世界去教導人們 Git。當 Scott 詢問我是否對於撰寫第二版有興趣時,我甚至完全不需要思考。
非常高興和榮幸能參與這本書的撰寫。我希望它能幫助你,就如同它對我的幫助一樣多。