倉庫、提交,以及歷史
三個你會不斷聽到的詞。我們把它們講清楚。
倉庫(,簡稱 "repo")就是一個 在盯著的資料夾。你只需把一個普通資料夾變成 repo 一次,從那以後 Git 就會追蹤裡面的一切。
提交(commit)是一個存檔點。它是某一時刻所有檔案的快照,外加你寫的一句簡短說明,描述改了什麼("加上登入頁面""修好壞掉的註冊按鈕")。你會不斷地做提交——把每一個都想成一個你可能想回去的檢查點。
歷史是所有提交按順序排成的列表。它就是時間線。你可以滾動瀏覽,讀每次改動是什麼,並穿越回任意一個時間點。
實際操作起來是這樣的。不用背——大多數時候你會讓 AI 替你執行——但跟著讀一遍,讓這些詞不再神秘:
# 把當前資料夾變成一個 Git 倉庫(只需做一次)
git init
# 檢視自上一個存檔點以來哪些檔案變了
git status
# 暫存你的改動,然後帶一句說明儲存為一次提交
git add .
git commit -m "Add the homepage layout"
# 檢視你的歷史——每一次提交,最新的在前
git log --oneline
git add . 是你在說"把我所有的改動都納入下一個存檔點"。git commit 才是真正的儲存。-m "..." 是寫給未來自己的便條。寫一些一個月後你自己還能看懂的便條。
這兩條命令把你的工作推過三個階段。你編輯的檔案,只有一路走到最右邊,才算真正儲存:
┌─────────────────┐ git add ┌─────────────────┐ git commit ┌─────────────────┐
│ WORKING DIR │ ─────────▶ │ STAGING │ ───────────▶ │ HISTORY │
│ 正在編輯的檔案 │ │ 選中的改動 │ │ 已儲存的提交 │
│ (尚未儲存) │ │ (供下次儲存) │ │ (永久安全) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
你修改 你選擇 它成為一張
一個檔案 放入提交的內容 永久快照