教學

使用 Bob 建立提交和拉取請求

使用 Bob 建立分支、暫存變更、產生提交訊息、推送至存放庫並開啟拉取請求。

Bob 內建 Git 版本控制支援,讓你無需離開 IDE 即可管理程式碼變更。

在本教學中,你將使用 Bob 建立分支、暫存程式碼變更、產生描述性提交訊息、將變更推送至存放庫,並開啟一個可以審閱和合併的拉取請求。

先決條件

設定專案

準備存放庫的工作副本。

分叉存放庫

你將從 Galaxium Travels 存放庫的分叉開始工作。

  1. 在 GitHub 上進入 Galaxium Travels 存放庫
  2. 按一下頁面右上角的 Fork 按鈕。
  3. 選取你的 GitHub 帳戶作為分叉的擁有者。

若要進一步了解分叉存放庫的相關資訊,請參閱 GitHub 關於分叉存放庫的文件。

複製存放庫

  1. 在終端機中,複製已分叉的 Galaxium Travels 存放庫。將以下命令中的 <your-id> 替換為你的 GitHub 使用者名稱:

    git clone git@github.com:<YOUR_ID>/galaxium-travels.git

如果遇到驗證錯誤,請確保已將 SSH 金鑰新增到 ssh-agent。如需更多資訊,請參閱 GitHub 文件

  1. 在 Bob 中,按一下檔案,然後按一下開啟資料夾

  2. 導覽至剛剛複製的 galaxium-travels 目錄並開啟它。

切換至 Agent 模式

如果 Bob 的聊天介面尚未開啟,請按一下導覽列旁的 Bob 圖示,或使用快速鍵 Option + Command + B(Mac)或 Ctrl + Alt + B(Windows)開啟它。

在 IBM Bob IDE 中開啟的 Bob 聊天面板

使用 Agent 模式,讓 Bob 能夠撰寫和修改程式碼、執行 Git 命令並引導你完成工作流程。除非明確允許,否則 Bob 在每次操作之前仍會要求許可。

按一下代理聊天中的模式選擇器下拉式功能表並選取 Agent,或在聊天中輸入 /agent

建立分支

在進行變更之前,建立一個功能分支,讓你的工作與 main 保持分離。

執行以下提示詞:

建立並切換到名為 update-header 的新分支。

Bob 要求執行 git checkout -b update-header 的許可。

按一下批准任務以建立分支並切換到該分支。

進行程式碼變更

進行一個小變更,為 Bob 提供要提交的內容。

開啟 Header 元件

在 Galaxium Travels 程式碼庫中,開啟 booking_system_frontend/src/components/layout/Header.tsx

編輯標題文字

讓 Bob 將 Galaxium Travels 更改為 Galaxium Travel Agency@ 前置詞將檔案新增至 Bob 的情境,讓它確切知道要編輯哪個檔案。

將 @booking_system_frontend/src/components/layout/Header.tsx 中
Header 的名稱從 `Galaxium Travels` 變更為 `Galaxium Travel Agency`

或者,你可以手動編輯檔案並將 Galaxium Travels 變更為 Galaxium Travel Agency

<span className="text-2xl font-bold bg-cosmic-gradient bg-clip-text text-transparent">
    Galaxium Travel Agency
</span>

執行 Git 工作流程

使用 Bob 暫存、提交、推送變更,然後開啟拉取請求。

暫存變更

執行以下提示詞以暫存變更:

暫存我為 header 元件更新所做的所有變更。

Bob 檢查工作樹、識別已修改的檔案,並要求執行 git add 的許可。

按一下批准任務以允許 Bob 執行命令。

提交變更

執行以下提示詞以提交已暫存的變更:

用一條描述性的提交訊息提交已暫存的變更,該訊息總結了新增的內容。

Bob 審閱已暫存的差異並產生描述變更目的和範圍的提交訊息。

Bob 在 IDE 中顯示執行命令的許可提示。

按一下我了解風險,然後按一下批准,讓 Bob 可以執行 git commit

推送變更

執行以下提示詞以將提交推送至遠端存放庫:

將我的變更推送至遠端存放庫。

Bob 識別目前的分支和遠端,然後要求執行 git push 的許可。

按一下批准任務以推送提交。Bob 在聊天記錄中確認推送成功。

開啟拉取請求

執行以下提示詞以建立拉取請求:

建立一個拉取請求,將我的變更合併到 main 分支。根據變更的內容撰寫清晰的標題和描述。

Bob 第一次建立拉取請求時需要 GitHub 驗證。Bob 會開啟瀏覽器視窗供你授權存取。授權後,Bob 會開啟拉取請求。按一下提供的連結在瀏覽器中存取拉取請求。審閱標題和描述後,按一下建立拉取請求

Bob 返回拉取請求 URL,供你直接在瀏覽器中審閱、共用或合併。

若要讓 Bob 在沒有確認視窗的情況下建立拉取請求,請安裝 GitHub CLI 並讓 Bob 使用它來建立拉取請求。

疑難排解

  • 推送遭拒絕或驗證失敗: 確認 Git 已使用可以推送到分叉的憑證進行設定。
  • 分支 update-header 已存在: 讓 Bob 切換到現有分支,或選擇另一個分支名稱。
  • 拉取請求以 IBM/galaxium-travels 為目標: 在建立拉取請求之前,將基礎存放庫變更為你的分叉。

清理

完成本教學後,你可以移除建立的資源:

  • 將本機複製切換回 main 分支。
  • 在 GitHub 上關閉或合併拉取請求。
  • 從分叉中刪除 update-header 分支。
  • 如果不再需要,刪除 Galaxium Travels 分叉。

後續步驟

在本教學中,你學習了如何使用 Bob 的原生 Git 整合在不離開 IDE 的情況下管理程式碼變更。

前往標準化 Bob 的行為,學習如何定義控制 Bob 在每次對話和模式中行為的持久規則。

這個主題如何?