根據知名開發者論壇 Stack Overflow 的最新統計, 有 83% 的開發者會使用版本控制 (version control) 工具來管控程式, 當中更高達 93.87% 是使用 Git 這套工具來做;而用 Git 通常也會接觸的 GitHub 網站更被視為求職重要的技術履歷 & 線上作品集, 市場說了算, 熟悉 Git、GitHub 絕對是程式開發者避不掉的!
在學習 Git 的管道上, 市面不乏一些教學書, 網頁文章當然也是隨便搜都有, 不過依小編親身體驗, 大部分教學內容多以一些陽春的文字檔來演練 (小編心聲:示範程式版本控制為什麼不拿真正的程式來 demo!), 當然, 用陽春範例來回實驗 Git 指令絕對是「風~平~浪~靜」, 但那不叫學, 只是玩玩指令而已!
要學 Git ✕ GitHub, 就用這本最有開發「臨場感」的書來學吧!
【用真正要做版本控制的程式做 demo, 跟陽春的實驗教學說掰掰!】
本書透過作者日常的程式開發案例, 帶讀者一窺開發者是如何善用 Git、GitHub。書中展示如何用自己的程式做版控, 你不會看到「123測試」、「aabbcc」這類實驗文字檔, 陽春案例很難感受最好在什麼階段建立版本, 或某一程式版本中有重大 bug 該怎麼應對..., 你絕對不希望將 Git 用在自己的程式時再來直視種種難題!
為了真實體驗開發情境, 本書除了命令列的指令教學外, 也會示範如何用 Visual Studio、VS Code...等程式開發工具來操作 Git, 還會示範如何活用 GitHub 做多人雲端同步協作。
你終究要把 Git 用在自己的程式上、操作自己慣用的開發工具、甚至加入團隊開發的行列, 跟著本書「真槍實彈」演練一遍才會學得深刻!
【真正從「做」中學!而不光用「看」的】
小編的第 2 個學習體驗是, 很多教學內容受限於情境難以產生 (尤其涉及多人合作、或者解決版本合併衝突的操作功能), 想照著做時你手邊根本沒有雷同的情境, 也就無從驗證自己操作起來會是什麼結果。
為此, 本書在介紹功能操作前, 對於如何快速建構出操作情境都會稍做提示, 無非希望你動手做做看;若需演練「一人分飾多角」的多人協作功能, 也分享如何做才不會造成閱讀的混亂感, 學習本書時一定可以感受到作者精心設計的種種巧思!
【施威銘研究室監修, 針對原書進行大量補充, 提供學習經驗】
最後, 本書所有內容都經小編實際演練過, 書中針對原書進行大量補充, 並適當添加註解, 例如學 Git、GitHub 一開始不太熟, 很容易在建立情境、演練功能時就把儲存庫弄的很混亂、影響後續操作 (混亂時就不得不乾脆放棄然後重建一個, 超花時間...)。
書中小編會以過來人的經驗, 引領你一開始就把「如何回復」這個學習的強心針學到手, 如此一來無論任何功能都可以放心勇敢去試!諸如此類的分享, 希望您的學習之路能夠紮實、順利。歡迎一起加入 Git ✕ GitHub 的世界吧!
本書特色:
□ 起手式就跟 GitHub 連動, 最符合現況的開發 workflow
□ Python、網頁前端程式、Java、C#..., 想管控什麼程式都適用
□ 除了命令列學 Git 外, 也教你在 Visual Studio、VS Code...等開發工具做版控, 更貼近開發實境
□ 學習一開始小編就教你安心的回復技巧, 勇敢嘗試各種功能都不怕!
□ git status/log/show/rebase/rebase -i/reset/branch/add/commit/push/pull/stash/amend/cherry-pick/notes/tag/diff/bisect/blame...所有功能都精心設計演練情境, 充份掌握 Git 指令使用時機
□其他實務內容:
‧5 個 Git ✕ GitHub 操作關鍵區域
‧提交 commit 的最佳時機建議
‧避免合併衝突的操作建議
‧利用 GitHub 的 Pull Request 完成多人協同檢視、合併
作者簡介:
Jesse Liberty
微軟 MVP、StoryBoardThat 的首席開發工程師。已出版 "Programming C#" (O'Reilly) 等眾多程式技術書, 在 Pluralsight、LinkedIn Learning、Udemy 和 Packt 等處提供培訓課程, 亦為廣受歡迎的 Yet Another Podcast 主持人。
jesseliberty.com
Twitter:@JesseLiberty
Podcast:jesseliberty.com/podcast