
jiantw83andClaude Opus 5
d153a49c47
feat(branch-prep): 依命名規則備妥開工的分支
命名規則照議題 #1:從開發分支長出 {類型}/{需求描述}/main,從功能分支長出時前兩段沿用
來源,子分支才會留在同一棵樹下。需求描述由議題標題翻譯,那是 agent 的事,所以這裡只收
--slug 並驗格式:英文 kebab、≤40 字元,中文分支名會讓 CI 與 URL 出問題。
三處「不弄丟別人的東西」,而且全部在任何 git 寫入之前判斷完:
- 工作區不乾淨就不動手。未提交的改動與未追蹤的檔案都會跟著 checkout 走到新分支上,
混進這顆工作包的 commit;目標分支已存在時,git 還會拖到 checkout 那一步才拒絕,
屆時 fetch 與 merge 都已經跑掉了。
- 來源分支在遠端已存在時 pull 而不是重建。
- 目標分支已存在時接上去而不是從來源蓋掉。
遠端分支的比對用全名 refs/heads/<ref>:ls-remote 的樣式比對吃的是 ref 尾段,而本 repo
的命名慣例讓每一支分支都以 /main 結尾——用短名比對,拿 main 當開發分支的專案會把
feat/x/main 誤認成 main,整個判成「遠端已經有這一支」。
算與做分成兩段,--dry-run 印出的就是真正將執行的那幾行 git,不另外維護一份描述。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 07:07:00 +00:00
..
2026-09-17 07:07:00 +00:00
2026-09-17 07:07:00 +00:00
2026-09-17 06:59:37 +00:00
2026-09-17 06:50:34 +00:00
2026-09-17 04:44:46 +00:00
2026-09-17 06:30:22 +00:00
2026-09-17 06:06:10 +00:00
2026-09-17 06:22:30 +00:00
2026-09-17 04:44:45 +00:00
2026-09-17 07:06:59 +00:00
2026-09-17 06:06:10 +00:00
2026-09-17 06:59:37 +00:00
2026-09-17 06:50:34 +00:00
2026-09-17 06:06:09 +00:00
2026-09-17 06:59:37 +00:00
2026-09-17 06:30:23 +00:00