目錄首頁 / index_b02.html

學習 Git 基本操作,理解版本控制的運作原理

這個網站不只教你「怎麼打指令」,而是幫你建立一條完整的理解路徑: Repository 概念 → 初始化 → Commit 快照 → GitHub 遠端協作 → 分支與合併 → 進階操作 → Pages 與 Actions → Runner 進階。 當你知道 Git 在背後做了什麼,才能真正掌握版本控制的核心邏輯。

這個網站會回答哪些核心問題?

為什麼需要版本控制?

你會理解 Git 如何用快照(Snapshot)而非差異(Diff)來記錄專案的每一個狀態,以及為什麼這比「複製資料夾改名」更可靠。

Git 在背後做了什麼?

你會看到 .git 目錄的結構、物件資料庫(blob、tree、commit)與 SHA-1 雜湊如何協同運作。

如何與他人協作?

你會學會透過 GitHub 的 Branch、Pull Request 與 Issue 進行團隊開發,並理解 merge 與 rebase 的差異。

學習路徑總覽

整套內容從「什麼是版本庫」到「GitHub 進階應用」,構成一條連續的學習路徑。

flowchart LR A["01 Repository\n概念與原理"] --> B["02 Git Init\n初始化"] B --> C["03 Commit\n提交與快照"] C --> D["04 GitHub\n協作平台"] D --> E["05 PR / Issue\nBranch"] E --> F["06 進階操作\nrebase / reset"] F --> G["07 Pages\nActions"] G --> H["08 Runner\n進階應用"]
閱讀建議: 如果你是第一次學習版本控制,建議從第一章依序閱讀。 如果你已經會 commit 但對分支協作還不熟,可以直接從第四章開始。 想部署網站或設定自動化流程,直接跳到第七章。 想深入了解 Runner 與 Docker 整合,參考第八章。

依你的背景選擇閱讀方式

完全初學者

  • 先讀第 01 章理解 Repository 的概念。
  • 再讀第 02、03 章,親手操作 init 與 commit。
  • 最後讀第 04 章,把專案推上 GitHub。

會基本操作

  • 直接看第 03 章補齊 commit 的原理知識。
  • 接著看第 05 章學習分支與 PR 流程。
  • 用第 06 章理解 rebase 與 reset 的差異。

想部署網站

  • 從第 04 章理解 GitHub 基本操作。
  • 直接跳到第 07 章學習 GitHub Pages。
  • 用 Actions 設定自動部署流程。

想深入 CI/CD

  • 先讀第 07 章理解 Actions 六大概念。
  • 接著讀第 08 章學習 Docker 整合與 Self-hosted。
  • 用快取與矩陣策略優化 workflow 效能。

章節目錄

01

Repository 概念與原理

理解版本庫的定義、物件資料庫(blob / tree / commit)、SHA-1 雜湊與索引(Index)的運作方式。

進入章節
02

Git Init 指令

了解 git init 做了什麼、.git 目錄的結構,以及工作目錄、暫存區與版本庫的三層架構。

進入章節
03

Commit 提交

掌握 commit 的概念、SHA-1 ID、物件結構、歷史紀錄查閱與版本回溯操作。

進入章節
04

GitHub 協作平台

GitHub 帳號設定、Remote 操作(push / pull / clone)、以及平台上的協作功能總覽。

進入章節
05

PR、Issue 與 Branch

深入了解分支(Branch)開發模式、Pull Request 審查流程、Issue 追蹤與 Merge 操作。

進入章節
06

進階操作

學習 rebase 重整歷史、revert 安全撤銷、reset 回退指標、stash 暫存工作的使用時機與差異。

進入章節
07

GitHub Pages、Actions 與進階應用

用 GitHub Pages 免費部署靜態網站、用 Actions 自動化測試與部署,以及 Codespaces、Copilot 等進階工具。

進入章節
08

Runner 進階應用與虛擬機實戰

深入 GitHub-hosted 與 Self-hosted Runner、Docker 整合、快取策略、除錯技巧與實際應用場景。

進入章節

完成後你應該獲得的能力

知識面

  • 理解 Git 的分散式版本控制架構與物件模型。
  • 理解 commit 是一個完整的專案快照,而非差異檔。
  • 理解 Branch、Merge、Rebase 的原理與適用情境。
  • 理解 GitHub 作為協作平台的核心功能與工作流程。
  • 理解 CI/CD 的概念與 GitHub Actions 的運作方式。
  • 理解虛擬機器(VM)與容器(Container)的差異與互補關係。

技能面

  • 能使用 git initgit addgit commit 建立版本紀錄。
  • 能使用 git loggit diff 查閱歷史與比較差異。
  • 能透過 GitHub 進行 push / pull / clone 與 PR 協作。
  • 能根據情境選擇 rebase、revert 或 reset 來處理版本問題。
  • 能用 GitHub Pages 部署靜態網站,用 Actions 建立自動化流程。
  • 能設定 Docker Container Job、快取策略與除錯 workflow。
使用提示: 建議在學習過程中同步操作終端機,每一章的範例都可以在本機直接練習。 如果遇到問題,可以用 git status 查看目前狀態,這是最常用的除錯起點。