# Git 工作流程

> 分支策略和提交規範

## 預設行為

- 一般修改直接 commit 到 main
- 每次 commit 都要有清楚的 commit message

## 何時需要 Branch

| 情境 | 分支 | 說明 |
|------|------|------|
| 詞庫擴充/修正 | ❌ | 直接 main |
| 小修正/文件 | ❌ | 直接 main |
| **zhtw-db 開發** | ✅ | 每個 DB 一個 branch |
| **核心重構** | ✅ | 先詢問再開 |
| **實驗性變更** | ✅ | 先詢問再開 |

需要開 branch 時，先詢問：
> 這次變更會 [簡述影響]，建議開 branch `feature/xxx` 進行，要嗎？

## Branch 命名

- `feature/功能簡述`（如 `feature/db-postgres`）
- `refactor/範圍簡述`
- `experiment/嘗試內容`
- `fix/問題簡述`

## 合併前確認

```
## 準備合併 [branch name] → main

**變更內容：**
- [檔案清單]

**功能說明：**
- [完成了什麼]

**注意事項：**
- [破壞性變更或額外步驟]

確認合併？
```

## Commit 規範

格式：`type: 簡短描述`

| 類型 | 用途 |
|------|------|
| `feat` | 新功能 |
| `fix` | 修復問題 |
| `refactor` | 重構（不改功能） |
| `docs` | 文件更新 |
| `chore` | 雜項（依賴、設定） |

---

*需要時讀取：開發分支、合併前確認*
