目錄首頁 / index.html

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

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

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

為什麼需要版本控制?

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

Git 在背後做了什麼?

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

如何與他人協作?

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

學習路徑總覽

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

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"]
閱讀建議: 如果你是第一次學習版本控制,建議從第一章依序閱讀。 如果你已經會 commit 但對分支協作還不熟,可以直接從第四章開始。

依你的背景選擇閱讀方式

完全初學者

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

會基本操作

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

團隊協作需求

  • 從第 04 章開始理解 GitHub 平台功能。
  • 第 05 章學會 Branch 策略與 PR 審查流程。
  • 第 06 章掌握 rebase 保持歷史線性。

章節目錄

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 暫存工作的使用時機與差異。

進入章節

完成後你應該獲得的能力

知識面

  • 理解 Git 的分散式版本控制架構與物件模型。
  • 理解 commit 是一個完整的專案快照,而非差異檔。
  • 理解 Branch、Merge、Rebase 的原理與適用情境。
  • 理解 GitHub 作為協作平台的核心功能與工作流程。

技能面

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