撰寫清晰、嚴謹的 Git 提交說明(Commit Message)與 Pull Request(PR)描述是團隊協同開發與專案維護的基石,但在頻繁的程式碼修改與分支切換中,手動構思訊息往往打斷開發者的心流。JetBrains AI Assistant 深度整合於 IntelliJ IDEA、PyCharm、WebStorm、GoLand 等 JetBrains IDE 的版本控制工具視窗中,能依據程式碼差異自動產生規範的提交說明、執行提交前 AI 自我審查,並一鍵建立結構完整的 PR/MR 標題與內文。
本文將完整示範如何在 JetBrains IDE 的版本控制流程中啟用與操作 AI Assistant,設定符合團隊標準的提示詞範本,並搭配衝突合併與程式碼審查功能提升工程效能。
前置條件與環境準備
在開始使用版本控制相關 AI 功能前,請確認開發環境已符合下列條件:
- 相容的 JetBrains IDE:版本為 2024.1 或更高版本(如 IntelliJ IDEA、PyCharm、WebStorm、GoLand、CLion、Rider 等)。
- AI Assistant 外掛程式與有效訂閱:
- 確認已在 Settings | Plugins(Windows/Linux 快捷鍵
Ctrl+Alt+S,macOS 快捷鍵Cmd+,)中啟用 JetBrains AI Assistant。 - 登入 JetBrains 帳號並具備可用額度(支援 AI Free 試用額度、AI Pro 個人訂閱、AI Ultimate 或由企業集中派發的授權)。
- 確認已在 Settings | Plugins(Windows/Linux 快捷鍵
- 版本控制外掛程式完備:
- 專案已初始化 Git 或 Mercurial 儲存庫。
- 啟用 IDE 內建的 Git 與 GitHub(或 GitLab)外掛程式,以存取 Pull Requests / Merge Requests 工具視窗。
1. 使用 AI Assistant 自動生成提交訊息(Commit Messages)
JetBrains AI Assistant 能精確解析暫存區(Staged Area)或特定變更清單(Changelist)中的程式碼差異(Diff),摘要修改目的與細節,產生高品質的提交紀錄。
操作步驟
- 開啟 Commit 工具視窗:
- 按下快捷鍵
Alt+0(Windows/Linux)或Cmd+0(macOS),或直接按Ctrl+K/Cmd+K。
- 按下快捷鍵
- 勾選本次預備提交的變更:
- 勾選欲提交的檔案、程式碼段落或變更集。AI Assistant 只會分析選定的差異,非常適合細粒度的局部提交(Partial Commit)。
- 觸發 AI 生成:
- 在提交訊息輸入框上方,點擊帶有魔棒/星光圖示的 Generate Commit Message with AI Assistant 按鈕。
- 檢視並微調內容:
- AI Assistant 會自動填入簡潔的摘要標題與列點說明的內容。
- 開發者可手動補充關聯的 Issue 編號(例如
PROJ-1024)或破壞性變更警告,確認後即可提交(快捷鍵Ctrl+Enter或Cmd+Enter)。
Add JWT authentication middleware and token expiration check
- Introduce AuthTokenValidator class to verify bearer tokens
- Register authentication interceptor in security configuration
- Add unit test coverage for expired and malformed tokens
2. 自訂提交格式規範與提示詞範本
各團隊通常遵循不同的提交慣例,例如 Conventional Commits(feat:, fix:, refactor:)、標題字數上限或強制帶入分支名稱。JetBrains 提供了兩種自訂途徑:
方法 A:在 Commit 視窗直接指定提示詞
- 點擊 Commit 工具視窗右下角的齒輪圖示(Settings)。
- 在 AI Assistant 區塊中,於 Prompt for generation 欄位輸入指示。
- 善用內建變數
$GIT_BRANCH_NAME將分支名稱帶入生成上下文(例如:從 $GIT_BRANCH_NAME 擷取任務編號做為開頭前綴,並列點說明修改點)。
方法 B:在全域 Prompt Library 中統一定制
- 前往 Settings | Tools | AI Assistant | Prompt Library(
Ctrl+Alt+S或Cmd+,)。 - 在 Built-In Actions 列表中選擇 Commit Message Generation。
- 在右側規則編輯區中定義團隊規範:
- 約定規範:例如「一律遵循 Conventional Commits 格式,首行為類型與簡短描述」。
- 長度限制:例如「首行摘要在 50 個字元以內,內文每行不超過 72 個字元」。
- 輸出語言:可指定繁體中文或英文。
- 點擊 Apply 儲存,日後所有生成均會自動套用該規則。
3. 提交前 AI 自我審查(Self-Review with AI)
為了避免意外將除錯程式碼、機密金鑰或語法瑕疵推入儲存庫,AI Assistant 提供了提交前即時自檢功能:
- 在 Commit 視窗中選取預備提交的變更項目。
- 點擊 Self-Review with AI 按鈕。
- IDE 將在 Problems 工具視窗的 AI Self-Review 分頁中展示潛在問題:
- 殘留的除錯輸出(如未移除的
console.log或print)。 - 空指標例外風險、未處理的邊界條件與潛在資源流失。
- 程式碼風格與命名不一致之處。
- 殘留的除錯輸出(如未移除的
- 點擊清單項目或按
F4即可跳轉至原始碼,直接套用 IDE 建議的快速修正(Quick Fix)。 - 團隊亦可在 Settings | Tools | AI Assistant | Project Settings 的 Path to rules for AI Self-Review 設定專案自訂的 Markdown 規範檔案,讓 AI 依照企業標準進行嚴格檢驗。
4. 編輯與改進既有的歷史提交紀錄
若已完成本地端提交但尚未推送(Push)至遠端,發現說明不夠完備時,同樣可請 AI 重新修飾:
- 按下
Alt+9(Windows/Linux)或Cmd+9(macOS)開啟 Git Log / Version Control 視窗。 - 在提交歷史中右鍵點擊欲修改的項目,選擇 Edit Commit Message。
- 在快顯視窗中點擊 Improve Commit Message with AI Assistant。
- AI 將重新評估該次提交的 Diff 並給出修飾後的描述,點擊 OK 儲存後再推送分支(
Ctrl+Shift+K或Cmd+Shift+K)。
5. 自動生成 Pull Request 與 Merge Request 描述
當功能開發完成並準備發起程式碼審查時,AI Assistant 能夠彙整整個分支的改動,產出結構清晰的 PR 描述。
建立 PR/MR 時一鍵生成
- 開啟 Pull Requests 工具視窗:
- 於主選單選擇 Git | GitHub | View Pull Requests(或 GitLab | View Merge Requests)。
- 新增 Pull Request:
- 點擊
+按鈕發起新的 PR/MR,選擇基底分支(Base Branch)與特性分支(Head Branch)。
- 點擊
- 產生標題與內文:
- 在描述輸入框中點擊 Generate a Title and Description with AI Assistant。
- AI 會整合分支內的所有提交與跨檔案差異,產生 Markdown 格式的內文,結構通常包含:
- 摘要(Summary):說明本次 PR 解決的業務問題或實作功能。
- 主要變更(Key Changes):條列核心模組的修改點。
- 驗證方式(Verification):自動化測試與手動驗證的指引。
- 補充與送出:
- 補充關聯的 Issue 連結或標註相關審查人員,點擊 Create Pull Request 即可完成。
審查他人 PR 時的自動摘要
在審查團隊成員提出的 PR 時,AI Assistant 亦能快速彙整變更要點:
- 於 Settings | Tools | AI Assistant | Features 中勾選 GitHub Plugin: Generate a summary upon opening a Pull Request。
- 開啟傳入的 PR 時即會自動產生摘要,並可於設定中微調詳細度(Verbosity)、語氣嚴謹度與客製化指示。
最佳實踐建議
| 實踐原則 | 效益與建議 |
|---|---|
| 小步小量局部提交(Partial Commit) | 善用 IDE 的區塊選取提交,提供 AI 語意集中且小範圍的 Diff,能產出極具參考價值的精準紀錄。 |
| 手動檢視外部追蹤 ID | AI 雖然擅長剖析程式碼意圖,但無法獲取外部看板(如 Jira、Linear)的任務號碼,需搭配 $GIT_BRANCH_NAME 或手動校對。 |
| 結合 IDE 提交前檢查(Commit Checks) | 與 IDE 內建的程式碼排版(Reformat code)、匯入清理(Optimize imports)搭配運作,守護程式碼品質。 |
| 運用 Merge with AI 解決衝突 | 執行 Rebase 或 Merge 遭遇程式碼衝突時,在 Merge Revisions 介面點擊 Merge with AI 即可自動化解非邏輯性衝突。 |
透過在日常版本控制作業中整合 JetBrains AI Assistant,工程師能夠從繁瑣的說明撰寫中解放專注力,同時為團隊累積清晰、標準且易於追溯的專案演進歷史。
參考資料
- AI in version control | AI Assistant Documentation
- Create and Understand Commit Messages with AI Assistant - JetBrains Guide
- Commit and push changes to Git repository | IntelliJ IDEA Documentation
- Review incoming GitHub pull requests | IntelliJ IDEA Documentation
- AI Assistant in JetBrains IDEs - The JetBrains Blog