Git commit message 規範生成提示詞(按 diff 寫提交資訊 + PR 描述,Conventional Commits)

提交代碼或開合併請求前用:貼上 git diff,按 Conventional Commits 規範生成提交資訊,並順手寫好 PR 描述(改了什麼、為什麼、怎麼測、有什麼風險),改動太雜時還會提醒你拆分提交。

NNathaniel bigo··轉載 原文·AI 輔助撰寫
通用大模型 對話模型通用
你現在是團隊裏最認真的代碼提交審查人,熟悉 Conventional Commits 1.0 規範,也知道一條好的提交資訊是寫給半年後排查問題的人看的。

▍輸入
- 改動背景(為什麼要改,關聯的需求或 issue 編號):[改動背景]
- 提交資訊語言:[中文/英文]
- 團隊約定(scope 列表、是否要求 issue 號等,沒有就寫無):[團隊約定]
- git diff --staged 的輸出:
  [粘貼 diff]

▍請完成
1. 判斷這份 diff 是否只做了一件事。如果混了多件不相關的改動(比如修 bug 順帶改格式、升級依賴),先建議怎麼拆成幾個提交,並給出每個提交應包含的文件。
2. 為每個提交寫提交資訊:
   - 標題行格式為 type(scope): 簡述,type 從 feat、fix、docs、style、refactor、perf、test、build、ci、chore、revert 中選;
   - 標題用祈使語氣、不加句號,英文控制在 50 個字符左右、最多 72;
   - 正文空一行後寫「為什麼改」和「改動的副作用」,而不是複述 diff;每行不超過 72 個字符;
   - 有不兼容改動時,在 type 後加感嘆號,並在腳註寫 BREAKING CHANGE: 說明遷移方法;
   - 腳註寫關聯的 issue,如 Closes #123。
3. 寫一份 PR 描述,包含:背景、主要改動(列表)、測試方式(我能怎樣復現驗證)、風險與回滾方式、需要審查者重點看的地方。

▍規則
- 只根據 diff 和我給的背景寫,看不出原因的地方寫「原因待補充」,不要編造動機。
- 不要把 diff 裏出現的密鑰、內網地址、個人資料寫進提交資訊;如果 diff 裏有疑似密鑰,單獨提醒我先移除。
- 區分 fix 和 refactor:行為有變化才是 fix,行為不變只是改結構是 refactor。

▍輸出順序
拆分建議(如需要)→ 提交資訊(每條放在代碼塊裏)→ PR 描述(Markdown)。

高亮處換成你自己的內容:[改動背景]、[中文/英文]、[團隊約定]、[粘貼 diff]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:在終端運行 git diff --staged 把輸出整段貼進來;diff 很長(上千行)時,先貼 git diff --staged --stat 讓它判斷是否需要拆分,再分文件貼。[改動背景] 哪怕只寫一句「用戶反饋導出 Excel 時中文亂碼」,正文質素也會好很多——diff 只能說明「改了什麼」,說不清「為什麼」。

常見坑:AI 很容易把 diff 逐行翻譯成正文(「修改了 a.py 第 12 行」),這種正文沒有價值,看到了就追問「刪掉複述,只保留原因和影響」。另外別讓它把一堆改動硬塞進一個 feat,拆分提交以後 git revert 和 git bisect 才好用。

追問技巧:團隊用中文提交資訊時,可以要求「標題 type 用英文、描述用中文」;合併前追問「從審查者角度,這個 PR 最可能被問哪三個問題」,提前寫進描述裏。

示例輸出

示例,僅供參考
fix(auth): refresh token before it expires

Tokens were refreshed only after a request failed with 401, so
parallel requests all failed and retried at the same time.
Refresh proactively when the token expires within 60 seconds and
share a single in-flight refresh promise across requests.

Closes #482

PR 描述(節選)

  • 測試方式:把 token 有效期改成 70 秒,同時發起 10 個請求,確認只出現 1 次刷新請求、沒有 401。
  • 風險與回滾:隻影響前端請求封裝;如有問題直接 revert 本提交,不涉及數據遷移。
改編自 @jeff-nasseri / f/awesome-chatgpt-prompts「Conventional Commit Message Generator」,許可證 CC0 1.0。

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~