教程

使用 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 在每次对话和模式中行为的持久规则。

这个主题怎么样?