讀完本文,您會了解 Git 是什麼、為什麼需要它,建立自己的第一個 GitHub 儲存庫,並設定工作環境。我們刻意透過 IDE 的圖形介面介紹 Git:畫面比較直觀,剛開始也比較安心,不必記住一大堆指令。
範例和介面截圖使用 JetBrains IDE;操作名稱和位置可能會因版本而異。練習時請使用獨立的練習用儲存庫。在正式專案中,請遵循該專案對分支、提交和推送變更的規範。
這種做法還有另一個好處。Claude Code 在幕後執行的也是相同的 Git 操作,只是透過終端機指令完成。當它提議建立 commit、建立分支或推送變更時,背後用的都是一般的 Git 指令。了解 IDE 按鈕背後發生什麼事,您就能看懂 Claude Code 提議的操作,也能有根據地檢查並核准。
為什麼需要版本控制
開始開發專案時,您可能會覺得最重要的是讓程式碼能正常執行。但很快就會發現,程式碼變動得比穩定運作還頻繁。您修正 bug、加入 feature、改變主意、還原變更,然後又重新加入。
想像您正在開發自己的專案。一切都很順利,直到您想開始嘗試新做法。您想修改某些內容,卻擔心破壞目前可用的版本。怎麼辦?當然是複製整個專案。最後磁碟裡就會出現這些傑作:
MyProject/
├── main.py
├── main_backup.py
├── main_final.py
├── main_final2.py
├── main_really_final.py
├── main_really1_really_final2.py是不是很熟悉?再想像有位朋友也加入這個專案。他也喜歡複製檔案,只是有自己的做法。要怎麼判斷哪個版本最新而且能正常運作?怎麼知道誰改了什麼?如果實驗失敗,又該如何全部還原?
沒有保留下來的歷史紀錄,就得手動比對各個檔案副本:
- 很容易弄丟或搞混可用的程式碼;
- 沒有統一的方法找回並還原已儲存的版本;
- 兩三個人一起合作會變得很困難;
- 混亂,也讓人不敢嘗試。

像 Git 這樣的版本控制系統,正是為了解決這些問題而生。
影片:終端機中的 Git 基礎
這部影片能幫您打下透過終端機使用 Git 的扎實基礎,也有助於理解 IDE 按鈕背後的運作方式。
影片中的範例使用 Java,但 Git 的基本操作在不同程式語言中都相同。
Git 是什麼:基本概念
Git 是一套版本控制系統,用來追蹤開發期間程式碼的變更。它能保存檔案的不同版本,也能協調多人共同開發同一個專案。
儲存庫(也常簡稱 repo)是保存整個專案歷史紀錄的地方,包括所有變更和檔案版本。
Commit(提交)是已追蹤專案內容的一份已儲存快照,並附有訊息、作者資訊,以及與父 commit 的關聯。尚未提交和已忽略的檔案不會包含在這份快照裡。透過歷史紀錄,您可以找到並還原先前儲存的版本。
每個 commit 都是專案的一份快照,接續在前一個 commit 之後,形成連續的變更歷史。
分支(branch)是指向某條開發線目前 commit 的名稱。範例中的主要分支叫做 main;您的儲存庫可能使用其他名稱,取決於設定和建立儲存庫的方式。
從主要分支 main 分出 develop 分支,以便平行開發。完成後,再將 develop 的變更合併回 main。
Git 常用指令:幕後發生了什麼
以下列出透過終端機操作 Git 時常用的指令。我們會使用 IDE 圖形介面,不過了解各項操作背後的指令仍然很有幫助:Git 會在每個按鈕背後執行這些指令;Claude Code 操作您的儲存庫時也一樣。把它們想成幕後實際發生的事就好。
| 指令 | 用途 |
|---|---|
git init | 在目前資料夾中初始化新的 Git 儲存庫 |
git clone | 依照 URL 將儲存庫複製到新資料夾 |
git status | 顯示哪些檔案已修改、已準備好提交,以及哪些檔案尚未納入 Git 追蹤 |
git add | 將檔案加入索引(staging),準備納入下一個 commit |
git commit | 將已準備的變更記錄為歷史中的新快照 |
git push | 將本機儲存庫的 commit 推送到遠端儲存庫 |
git pull | 取得變更,並依照設定與目前分支合併 |
git fetch | 從伺服器下載變更,但暫時不會合併到您的分支 |
git branch | 顯示、建立或刪除分支 |
git checkout / git switch | switch 用來切換分支;checkout 也能切換到個別 commit 並還原檔案 |
git merge | 將指定分支的變更合併到目前分支 |
git log | 顯示 commit 歷史紀錄 |
git diff | 不帶旗標時,比較工作目錄中的檔案與索引;已準備的變更需另外檢視 |
git restore | 還原指定檔案;未指定來源時,工作目錄中的檔案會從索引還原,不一定是從最近一次 commit 還原 |
git reset | 變更索引或目前分支的位置;後果取決於指令形式和模式 |
git stash | 暫時收起尚未完成的變更,方便之後繼續處理 |
git remote -v | 顯示專案連接了哪些遠端儲存庫 |
git config | 設定 Git,例如 commit 作者的名稱和 email |

不必把整份清單背起來,剛開始只要知道 IDE 和代理的操作都仰賴 Git;一個介面操作可能會執行多個指令。例如,透過 Commit 提交會使用 git commit,而 Push 按鈕執行的是 git push。
- 工作目錄中的檔案
- git add → 索引
- git commit → 歷史紀錄
- git push → 伺服器
圖中展示的是推送流程:您透過 add 準備內容,以 commit 在本機記錄變更,再透過 push 推送 commit。反向的 pull 則會取得遠端 commit,並依照設定與目前分支合併。
這正是 Claude Code 會替您執行的操作。它說要建立 commit 並推送變更時,背後做的就是 git add、git commit 和 git push。您可以在同一個 IDE 視窗中查看結果並進行檢查。
程式碼的四種狀態
使用版本控制時,程式碼在概念上會經過以下四種狀態:
1. 工作目錄(Working Directory)。您目前正在電腦上編輯的專案檔案。
2. 暫存區(Staging Area)。下一個 commit 預備納入的內容。在 JetBrains 中,您可以透過變更清單操作,也可以啟用獨立的 staging 模式。一般 Commit 視窗中的勾選框會選取要提交的內容,但不代表這些內容已經放進 Git 索引。
3. 本機儲存庫(Local Repository)。專案程式碼歷史紀錄在您電腦上的個人副本。即使沒有網路,也能在這裡建立 commit、分支和合併。
4. 遠端儲存庫(Remote Repository)。存放在 GitHub、GitLab 或 Bitbucket 等服務上的中央程式碼儲存空間。它能可靠地保存程式碼,也是團隊協作的基礎。
Claude Code 詢問是否將新檔案納入追蹤時,會把檔案從工作目錄加入 staging,使用的指令是 git add。加入時,檔案內容就會準備好供提交;之後再修改的內容,必須重新準備一次。如果不需要加入該檔案(例如它只是暫存垃圾),您可以拒絕。
Git 和 GitHub 有什麼不同
請清楚區分這兩個概念。Git 是在您的電腦上本機執行的程式(不需要網路也能使用),負責追蹤檔案版本。GitHub 則是雲端服務(網站),用來存放 Git 儲存庫的遠端副本。
GitHub 可以讓您建立儲存庫、追蹤變更,並與他人共同開發。對現代開發者來說,GitHub 個人檔案是作品集的重要一環,可以展示給雇主看。
在 GitHub 建立第一個儲存庫

步驟 1。前往 https://github.com 並註冊帳號。
步驟 2。按一下 New repository 按鈕,建立新的儲存庫。

步驟 3。設定儲存庫的選項:
- 儲存庫名稱 - 取一個有意義的名稱;
- Public 或 Private - 請審慎選擇可見性。Public 代表所有人都能存取;Private 則會限制存取。若是個人練習,而且您不打算公開,可以選擇 Private。
- Add a README file - 新的空白專案通常適合加入 README。如果您要推送已經存在的本機歷史紀錄,請建立不含 README 的空白遠端儲存庫,避免產生兩份彼此獨立的初始歷史。
- Add .gitignore - 選擇符合專案技術的範本。下拉式清單中有常見程式語言的現成範本。這很重要:建置流程和套件管理工具會產生許多暫存檔和快取,不該讓它們弄亂儲存庫;範本能幫助 Git 忽略這些檔案;
- Choose a license - 可以略過;
- 按一下
Create repository。

步驟 4。完成,您的第一個遠端儲存庫已建立。

安裝並設定 Git
接下來展示的是 IntelliJ IDEA 介面。其他 JetBrains IDE 也有類似操作,但按鈕位置和選單項目名稱會依版本而異。請以動作名稱為準;您可以透過 IDE 的動作搜尋功能找到它。
若要使用 Git,請先安裝它。如果您使用 JetBrains IDE,而系統中找不到 Git,IDE 很可能會主動建議安裝,直接同意通常最簡單。
透過 File | Close Project 關閉目前的專案。在起始畫面(Welcome Screen)中,按一下 Clone Repository(某些版本的按鈕名稱是 Get from VCS)。

如果您想手動安裝 Git,可以從官方網站下載:https://git-scm.com/downloads。
一個重要細節
第一次建立 commit 時,Git 需要作者名稱和 email。這是 commit 的署名,不是登入帳號。若要讓 GitHub 將 commit 與您的帳號連結,請使用帳號設定中已驗證的地址,或使用 GitHub 提供的 noreply 地址,以免公開個人 email。
GitHub 會依 email 將 commit 與個人檔案連結。地址相符本身並不保證活動紀錄會出現在貢獻圖表中,還有其他條件。
讓 Claude Code 直接操作 Git 和 GitHub,需要安裝什麼
在本機建立 commit 和分支只需要安裝 Git,不必登入 GitHub。若要操作遠端儲存庫,請設定存取權限。GitHub CLI (gh) 是處理 PR 和其他 GitHub 功能的額外工具,不是 Git 的必要部分。
1. Git。用來操作本機歷史紀錄。請透過 IDE 或 Git 官方網站安裝。
2. GitHub CLI(gh)是 GitHub 官方的命令列工具。它的用途是讓 Claude Code 直接在終端機建立 pull request、讀取 issues、查看檢查狀態,不必切換到瀏覽器。安裝方式取決於您的作業系統。
您的作業系統安裝說明請參考 GitHub CLI 官方頁面。安裝完成後,使用 gh --version 確認工具可以使用。
如果您選擇使用 GitHub CLI,請啟動存取設定並依照提示操作。使用 GitHub.com 時,可以選擇 HTTPS,並透過瀏覽器登入:
# 從終端機登入 GitHub 帳號
gh auth loginClaude Code 可以使用 git 管理歷史紀錄,也可以使用 gh 操作 GitHub。如果您選擇這種 GitHub 操作方式,就需要安裝 gh 並執行 gh auth login。建立 PR 和推送 commit 都會依照您的任務進行,並在確認要推送的內容後才執行。
main 和 master
儲存庫中常見 main 和 master 這兩種名稱。GitHub 通常會建議使用 main;Git 在本機初始化時則會依據版本和 init.defaultBranch 設定決定預設名稱。請確認專案中實際使用的分支名稱。
這兩個名稱都代表一般分支。請將範例中的指令對照到您的儲存庫實際使用的分支名稱。
Claude Code 如何搭配 Git 使用
了解 Git 的基本概念後,您會更容易看懂 Claude Code 的操作。以下是它會替您執行的工作,以及值得留意的地方:
- 替您執行
git add、git commit、git push等指令,也就是 IDE 按鈕背後的那些操作; - 提議將檔案加入追蹤(
git add)- 由您決定要不要將檔案納入歷史紀錄; - 提出已擬好訊息的 commit -您可以先閱讀它要記錄的內容,再選擇同意或修改;
- 透過 GitHub CLI 建立 pull request(PR,也就是提議將分支合併到主要分支)並在上面留言,也能查看檢查狀態。
同意前,請先確認哪些檔案和變更會納入 commit。Claude Code 和 IDE 一樣會以 diff 顯示這些內容。這就是您的把關點:您能清楚知道哪些內容會進入專案歷史紀錄並推送到伺服器。
GO TO FULL VERSION