首頁 搜尋 我的知識庫
玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步,用最具臨場感的開發實例紮實學會!

玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步,用最具臨場感的開發實例紮實學會!

作者: Jesse Liberty
出版社: 旗標
出版日期: 2022/10/20
ISBN-13: 9789863127314
書店 1







內容描述


根據知名開發者論壇 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 完成多人協同檢視、合併


目錄大綱


第 1 章 序章
1.1 認識版本控制 (version control)
1.2 可以用 Git 來管理的程式
1.3 操作 Git 的各種工具
1.4 取得 Git
1.5 完成個人資料設定

第 2 章 建立儲存庫 (Repository) 並用 Git 開始管控
2.1 建立 GitHub 雲端儲存庫
2.2 建立本機儲存庫
2.3 在任一本機儲存庫建立程式, 開始用 Git 管控
2.4 從其他本機儲存庫 pull 異動
2.5 push mine, pull yours 的操作演練
2.6 commit 的相關建議

第 3 章 五個 Git 常用區域以及分支 (Branches) 概念
3.1 使用 Git 的 5 個關鍵區域
3.2 分支 (Branches) 功能
3.3 儲存庫的延伸操作

第 4 章 檢視 commits 內容並合併 (merge) 分支
4.1 合併前檢視 commits 內容
4.2 透過 GUI 工具合併分支
4.3 解決合併時發生的衝突 (conflict)
4.4 認識合併時的 Git 訊息
4.5 避免合併衝突的幾個建議
4.6 利用 GitHub 的 Pull Request 功能完成多人協同檢視、合併 
4.7 協同開發實戰觀摩

第 5 章 rebase、amend 和 cherry-pick 指令
5.1 rebase 合併功能
5.2 用 amend 修正 commit 的內容
5.3 用 cherry-pick 做選擇性合併
5.4 綜合演練

第 6 章 用 Interactive rebase 修改 commit 歷史紀錄
6.1 在程式開發工作中使用Interactive rebase
6.2 Interactive rebase 實戰觀摩

第 7 章 製作儲存庫副本 (mirror)、notes 與 tag 等實用指令
7.1 製作儲存庫副本
7.2 利用 notes 指令添加 commit 的說明
7.3 使用 tag 指令註記關鍵的 commit

第 8 章 建立指令的別名 (alias)
8.1 alias 指令的使用介紹
8.2 查看建立 alias 後的 config 檔內容

第 9 章 log 指令的進階用法
9.1 備妥 LogDemo 範例程式
9.2 各種實用的 log 指令參數
9.3 自訂 log、show 所顯示的參考資訊

第 10 章 用 stash 指令把工作存入暫存區
10.1 便利的 git stash 暫存機制
10.2 用 clean 指令清除工作區的異動內容

第 11 章 用 bisect 和 blame 指令揪出有問題的 commit
11.1 用 git bisect 找出 bug 源頭
11.2 用 git blame 列出逐行修改軌跡

第 12 章 回復內容、檔案救援…等常見 Git 使用問題
12.1 commit 的訊息寫錯了
12.2 剛送出的 commit 中忘記加入變更的檔案
12.3 想要撤銷 (undo) 先前送出的 commit
12.4 分支的名字取錯了
12.5 不小心將異動內容 commit 到錯誤的分支
12.6 發現誤刪檔案, 而且老早就送出 commit 了...
12.7 回復到先前某個 commit 時間點的檔案內容


作者介紹


作者簡介
 
Jesse Liberty
 
  微軟 MVP、StoryBoardThat 的首席開發工程師。已出版 "Programming C#" (O'Reilly) 等眾多程式技術書, 在 Pluralsight、LinkedIn Learning、Udemy 和 Packt 等處提供培訓課程, 亦為廣受歡迎的 Yet Another Podcast 主持人。
 
  jesseliberty.com
  Twitter:@JesseLiberty
  Podcast:jesseliberty.com/podcast






相關書籍

背景の描繪方法:基礎知識到實際運用的技巧

HTML/CSS/JavaScript與前端框架的完美結合:使用Bootstrap與PWA技術,新手從這開始!(暢銷回饋版)

一步到位!Python 程式設計 – 最強入門教科書 第四版

資料視覺化:用Python為星空作畫