03 - 基本工作流程
← 02-安裝與初始設定 | 下一篇 → 04-GitHub入門
🗂️ 初始化一個新的 Git 倉庫
在你想要追蹤的資料夾裡,執行:
# 先切換到你的專案資料夾
cd /path/to/your/project
# 初始化 Git(只需做一次)
git init這個指令會在資料夾裡建立一個隱藏的 .git 資料夾,Git 的所有資料都存在這裡。
📋 查看目前狀態
git status這是你最常用的指令之一,隨時可以執行,了解目前的狀態。
常見的狀態訊息
On branch main ← 目前在 main 分支
Untracked files: ← 新增的檔案,Git 還不知道
notes.md
Changes not staged: ← 有修改但還沒 add 到暫存區
modified: old_note.md
Changes to be committed: ← 已 add,等待 commit
new file: notes.md
➕ 加入暫存區(git add)
在 commit 之前,要先決定「這次要一起存哪些檔案」。
# 加入單一檔案
git add filename.md
# 加入資料夾內的所有檔案
git add folder/
# 加入目前資料夾的所有變更
git add .
# 互動式選擇(進階)
git add -p暫存區(Staging Area)的用途
讓你可以把「一大堆修改」拆成有意義的幾個 commit, 例如:先 commit 修 bug 的部分,再 commit 新功能的部分。
💾 提交(git commit)
# commit 並附上說明訊息(-m = message)
git commit -m "這次修改的說明"好的 commit message 怎麼寫?
| ❌ 不好的例子 | ✅ 好的例子 |
|---|---|
update | 新增 heart failure 的診斷標準 |
fix | 修正 sepsis 抗生素選擇的錯誤 |
aaa | 補充 DKA 的 management 流程 |
常用格式(Conventional Commits)
feat: 新增某功能
fix: 修正某問題
docs: 更新文件
update: 更新現有內容
📜 查看歷史紀錄(git log)
# 完整的 log
git log
# 每個 commit 只顯示一行
git log --oneline
# 圖形化顯示分支
git log --oneline --graph --all輸出範例(--oneline):
a3f1b2c 補充 DKA 治療流程
9e2d4a1 新增 heart failure 筆記
b7c8f3e 初始化筆記資料夾
每行開頭的 7 位字元(如 a3f1b2c)是 commit hash,可以用來回到該版本。
↩️ 回到過去的版本
# 查看某個 commit 的內容(不會修改現在的狀態)
git show a3f1b2c
# 暫時切換到某個舊版本(detached HEAD 狀態)
git checkout a3f1b2c
# 回到最新版本
git checkout main撤銷修改
# 撤銷工作區的修改(還沒 add 的)
git restore filename.md
# 把已 add 的檔案移出暫存區(但保留修改)
git restore --staged filename.md
# 回到某個 commit 的狀態(危險!會丟失後面的 commit)
git reset --hard a3f1b2c🙈 忽略不想追蹤的檔案(.gitignore)
建立一個 .gitignore 檔案,裡面列出不想讓 Git 追蹤的檔案:
# 建立 .gitignore 檔案
touch .gitignore.gitignore 範例內容:
# 系統檔案
.DS_Store
Thumbs.db
# 編輯器設定
.obsidian/workspace.json
.obsidian/cache
# 敏感資料
.env
secrets.txt
# 暫存資料夾
tmp/
🔄 完整的日常工作流程
1. 修改檔案
↓
2. git status ← 確認哪些檔案有變動
↓
3. git add . ← 把想存的檔案加到暫存區
↓
4. git commit -m "說明這次修改了什麼" ← 存一個版本快照
↓
5. git push ← 推到 GitHub(見下一章)
📌 小結
| 指令 | 用途 |
|---|---|
git init | 初始化新 repo |
git status | 查看目前狀態 |
git add . | 加入所有變更到暫存區 |
git commit -m "訊息" | 建立一個版本快照 |
git log --oneline | 查看歷史紀錄 |
git restore 檔案 | 撤銷工作區修改 |
← 02-安裝與初始設定 | 下一篇 → 04-GitHub入門