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入門