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

Jesse Liberty 著 林子政 譯;施威銘研究室 監修

  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-1
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-2
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-3
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-4
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-5
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-6
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-7
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-8
  • 玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-9
玩真的!Git ✕ GitHub 實戰手冊 - coding 實境、協同開發、雲端同步, 用最具臨場感的開發實例紮實學會! (Git for Programmers)-preview-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 完成多人協同檢視、合併

作者簡介

作者簡介:

Jesse Liberty

微軟 MVP、StoryBoardThat 的首席開發工程師。已出版 "Programming C#" (O'Reilly) 等眾多程式技術書, 在 Pluralsight、LinkedIn Learning、Udemy 和 Packt 等處提供培訓課程, 亦為廣受歡迎的 Yet Another Podcast 主持人。

jesseliberty.com
Twitter:@JesseLiberty
Podcast:jesseliberty.com/podcast

目錄大綱

目錄:

第 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 時間點的檔案內容