為 你 自己 學 git

為 你 自己 學 git

五倍紅寶石學院 Git 培訓教學課程

  • 定期開授 Git 實體課程
  • 除了介紹 Git 的基本原理及操作外,並將模擬各種在開發過程常遇到的狀況,引導大家快速上手。

為 你 自己 學 git

五倍紅寶石學院 Git 線上直播課程

  • 完整且實用的 Git 影音課程
  • 附贈超過 300 頁精實完整 Git 教學內容電子書(本站完整內容)

為你自己學 Git 教學目錄

以下所有內容均是我在五倍紅寶石學院 Git 培訓教學課程以及 Git 線上直播教學課程所用到的教材,若您發現內容有誤或有任何問題,歡迎直接來信,或是在該章節頁面下方留言 :)

一、Git 入門篇

  • 寫在最前面 - 為你自己學 Git!
  • 什麼是 Git?為什麼要學習它?
  • 與其它版本控制系統的差異

二、Git Windows/Mac/Linux 環境安裝

  • 安裝在 Windows 作業系統
  • 安裝在 Mac OSX 作業系統
  • 安裝在 Linux 作業系統
  • 圖形化介面工具

三、終端機/命令提示字元

  • 終端機及常用指令介紹
  • 超簡明 Vim 操作介紹

四、設定 Git

  • 使用者設定
  • 其它方便的設定

五、開始使用 Git

  • 新增、初始 Repository
  • 把檔案交給 Git 控管
  • 工作區、暫存區與儲存庫
  • 檢視紀錄
  • 【狀況題】如何在 Git 裡刪除檔案或變更檔名?
  • 【狀況題】修改 Commit 紀錄
  • 【狀況題】追加檔案到最近一次的 Commit
  • 【狀況題】新增目錄?
  • 【狀況題】有些檔案我不想放在 Git 裡面…
  • 【狀況題】檢視特定檔案的 Commit 紀錄
  • 【狀況題】等等,這行程式誰寫的?
  • 【狀況題】啊!不小心把檔案或目錄刪掉了…
  • 【狀況題】剛才的 Commit 後悔了,想要拆掉重做…
  • 【狀況題】不小心使用 hard 模式 Reset 了某個 Commit,救得回來嗎?
  • 【冷知識】HEAD 是什麼東西?
  • 【狀況題】可以只 Commit 一個檔案的部份的內容嗎?
  • 【冷知識】那個長得很像亂碼 SHA-1 是怎麼算出來的?
  • 【超冷知識】在 .git 目錄裡有什麼東西?Part 1
  • 【超冷知識】在 .git 目錄裡有什麼東西?Part 2

六、使用分支

  • 為什麼要使用分支?
  • 開始使用分支
  • 對分支的誤解
  • 合併分支
  • 【狀況題】為什麼我的分支都沒有「小耳朵」?
  • 【常見問題】合併過的分支要留著嗎?
  • 【狀況題】不小心把還沒合併的分支砍掉了,救得回來嗎?
  • 另一種合併方式(使用 rebase)
  • 合併發生衝突了,怎麼辦?
  • 【冷知識】為什麼大家都說在 Git 開分支「很便宜」?
  • 【冷知識】Git 怎麼知道現在是在哪一個分支?
  • 【狀況題】我可以從過去的某個 Commit 再長一個新的分支出來嗎?

七、修改歷史紀錄

  • 【狀況題】修改歷史訊息
  • 【狀況題】把多個 Commit 合併成一個 Commit
  • 【狀況題】把一個 Commit 拆解成多個 Commit
  • 【狀況題】想要在某些 Commit 之間再加新的 Commit
  • 【狀況題】想要刪除某幾個 Commit 或是調整 Commit 的順序
  • Reset、Revert 跟 Rebase 指令有什麼差別?

八、標籤

  • 使用標籤
  • 【冷知識】標籤跟分支有什麼不一樣?

九、其它常見狀況題

  • 【狀況題】手邊的工作做到一半,臨時要切換到別的任務
  • 【狀況題】不小心把帳號密碼放在 Git 裡了,想把它刪掉…
  • 【狀況題】如果你只想要某個分支的某幾個 Commit?
  • 【冷知識】怎麼樣把檔案真正的從 Git 裡移掉?
  • 【冷知識】你知道 Git 有資源回收機制嗎?
  • 【冷知識】斷頭(detached HEAD)是怎麼一回事?

十、遠端共同協作 - 使用 GitHub

  • GitHub 是什麼?
  • Push 上傳到 GitHub
  • Pull 下載更新
  • 【狀況題】怎麼有時候推不上去…
  • 從伺服器上取得 Repository
  • 【常見問題】Clone 跟 Pull 指令有什麼不一樣?
  • 與其它開發者的互動 - 使用 Pull Request(PR)
  • 【狀況題】怎麼跟上當初 fork 專案的進度?
  • 【狀況題】怎麼刪除遠端的分支?
  • 【狀況題】聽說 git push -f 這個指令很可怕,什麼情況可以用它呢?
  • 使用 GitHub 免費製作個人網站
  • 【冷知識】一定要有 GitHub 才能得到別人更新的檔案嗎?

十一、使用 Git flow

  • Git Flow 是什麼?為什麼需要這種東西?
  • 使用 Git Flow

十二、團隊協作(將持續更新)

本章節內容僅更新至電子書(Leanpub)及電子書(Kobo)。

  • 【狀況題】啊,我還沒開分支就 commit 下去了!
  • 【狀況題】咦?這個問題是從什麼時候就有的?
  • 【狀況題】測試還要跑好久,但老闆叫我去修別的分支的問題…

十三、冷知識(將持續更新)

本章節內容僅更新至電子書(Leanpub)及電子書(Kobo)。

  • 【冷知識】純手工初始化 .git 目錄
  • 【冷知識】Stash 是什麼?
  • 【冷知識】~^ 有什麼不同?

前言 寫在最前面 - 為你自己學Git !
作者序

第1章:入門篇
1.1 什麼是Git?為什麼要學習它?
1.2 與其它版本控制系統的差異

第2章:環境安裝
2.1 安裝在 Windows 作業系統
2.2 安裝在Mac OSX 作業系統
2.3 安裝在Linux 作業系統
2.4 圖形化介面工具

第3章:終端機/命令提示字元
3.1 終端機及常用指令介紹
3.2 超簡明Vim操作介紹

第4章:設定Git
4.1 使用者設定
4.2 其它方便的設定

第5章:開始使用Git
5.1 新增、初始 Repository
5.2 把檔案交給Git 控管
5.3 工作區、暫存區與儲存庫
5.4 檢視紀錄
5.5 狀況題 如何在Git 裡刪除檔案或變更檔名?
5.6 狀況題 修改Commit 紀錄
5.7 狀況題 追加檔案到最近一次的Commit
5.8 狀況題 新增目錄?
5.9 狀況題 有些檔案我不想放在Git 裡面...
5.10 狀況題 檢視特定檔案的Commit 紀錄
5.11 狀況題 等等,這行程式誰寫的?
5.12 狀況題 啊!不小心把檔案或目錄刪掉了⋯
5.13 狀況題 剛才的Commit 後悔了,想要拆掉重做⋯
5.14 狀況題 不小心使用hard 模式Reset 了某個Commit,救得回來嗎?
5.15 冷知識 HEAD 是什麼東西?
5.16 狀況題 可以只Commit 一個檔案的部份的內容嗎?
5.17 冷知識 那個長得很像亂碼SHA-1 是怎麼算出來的?
5.18 超冷知識 在.git 目錄裡有什麼東西? Part 1
5.19 超冷知識 在.git 目錄裡有什麼東西? Part 2

第6章:使用分支
6.1 為什麼要使用分支?
6.2 開始使用分支
6.3 對分支的誤解
6.4 合併分支
6.5 狀況題 為什麼我的分支都沒有「小耳朵」?
6.6 常見問題合併過的分支要留著嗎?
6.7 狀況題 不小心把還沒合併的分支砍掉了,救得回來嗎?
6.8 另一種合併方式(使用 rebase)
6.9 合併發生衝突了,怎麼辦?
6.10 冷知識 為什麼大家都說在 Git 開分支「很便宜」?
6.11 冷知識 Git 怎麼知道現在是在哪一個分支?
6.12 狀況題 我可以從過去的某個Commit 再長一個新的分支出來嗎?

第7章:修改歷史紀錄
7.1 狀況題 修改歷史訊息
7.2 狀況題 把多個 Commit 合併成一個Commit
7.3 狀況題 把一個 Commit 拆解成多個Commit
7.4 狀況題 想要在某些 Commit 之間再加新的Commit
7.5 狀況題 想要刪除某幾個 Commit 或是調整Commit 的順序
7.6 Reset、Revert 跟 Rebase 指令有什麼差別?

第8章:標籤
8.1 使用標籤
8.2 冷知識 標籤跟分支有什麼不一樣?

第9章:其它常見狀況題與冷知識
9.1 狀況題 手邊的工作做到一半,臨時要切換到別的任務
9.2 狀況題 不小心把帳號密碼放在Git 裡了,想把它刪掉⋯
9.3 冷知識 怎麼樣把檔案真正的從 Git 裡移掉?
9.4 冷知識 你知道Git 有資源回收機制嗎?
9.5 冷知識 斷頭(detached HEAD)是怎麼一回事?

第10章:遠端共同協作 - 使用 GitHub
10.1 GitHub 是什麼?
10.2 Push 上傳到 GitHub
10.3 Pull 下載更新
10.4 狀況題 怎麼有時候推不上去...
10.5 從伺服器上取得 Repository
10.6 常見問題Clone 跟 Pull 指令有什麼不一樣?
10.7 與其它開發者的互動 - 使用 Pull Request(PR)
10.8 狀況題 怎麼跟上當初 fork 專案的進度?
10.9 狀況題 怎麼刪除遠端的分支?
10.10 狀況題 聽說 git push -f 這個指令很可怕,什麼情況可以使用它呢?
10.11 使用GitHub 免費製作個人網站
10.12 冷知識 一定要有GitHub 才能得到別人更新的檔案嗎?

第11章:使用Git flow
11.1 Git Flow 是什麼?為什麼需要這種東西?