codecamp

TRAE SOLO GitHub

将 GitHub 集成至 TRAE SOLO,可以显著提升开发效率。你无需在 TRAE SOLO 和 GitHub 之间频繁切换,即可在 AI 辅助编码后,快速发起代码合并请求(Pull Request),或让 AI 协助检查代码变更。本文将介绍如何将 GitHub 集成至 TRAE SOLO,以及如何使用该功能创建和检查 PR。

前置条件

仅 Code 模式支持 GitHub 应用,确保你已经将 TRAE SOLO 切换至 Code 模式。

集成 GitHub 至 TRAE SOLO

将 GitHub 集成至 TRAE SOLO 的步骤如下:

  1. 在界面左下角,点击 头像 > 设置,进入设置中心。
  2. 在左侧导航栏中,选择 外部应用授权

    你将进入外部应用集成面板。

  3. 在 GitHub 应用处,点击 连接 按钮。
  4. 根据页面提示,登录你的 GitHub 账号,然后授权 TRAE-AI CN 访问你的账号信息和代码仓库。

    授权完成后,GitHub 应用的集成方中会显示 SOLO Web 和 SOLO Desktop。

创建 PR

将 GitHub 集成至 TRAE SOLO 后,你可以在 TRAE SOLO 中为指定代码仓库和分支创建 PR。

准备工作:选择分支并发起对话

  1. 根据所使用的 TRAE SOLO 产品,选择一个仓库和分支,或打开一个从 GitHub 拉取的项目:

    • 网页版:在对话框左下方的 选择仓库 处选择需要创建 PR 的仓库和分支。
    • 桌面版:打开一个从 GitHub 拉取的项目,在对话框左下方选择 云端 模式,然后选取需要创建 PR 的分支。
  2. 在对话中输入指令,并发送给 AI。

    AI 完成任务后,对话框上方会显示 “remote-agent” 开头的 PR 信息。你可以选择让 AI 创建 PR 或手动创建 PR,详细步骤参考下文。

由 AI 创建 PR

点击 AI 创建 PR 按钮,由 AI 来创建 PR。

点击该按钮后,AI 会查看两个分支间的具体差异,然后生成摘要报告。若你需要了解代码变更详情,则可以点击摘要右侧的箭头按钮,然后在 DiffView 中查看每个文件具体的代码变更。

确认代码变更无误后,在 接下来您想做什么? 对话框中,选择 创建 PR 选项。AI 将为先前选中的仓库和分支创建 PR,并打开 GitHub 窗口,展示 PR 信息。确认无误后,你可以在 GitHub 上合并代码。

手动创建 PR

若需要手动创建 PR,点击 ··· > 手动创建 PR

系统将自动打开 GitHub 窗口,展示 PR 信息。确认无误后,你可以在 GitHub 上合并代码。

由 AI 检查 PR

创建 PR 后,若你想让 AI 帮你检查 PR,可以点击对话框上方的 AI 检查 PR 按钮,AI 会先查看相关文件的具体变更内容,然后执行 git diff 命令来获取详细的变更信息。

TRAE SOLO 工作流:Spec & Plan
TRAE SOLO 飞书
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

TRAE SOLO 最佳实践

TRAE SOLO 外部应用授权

TRAE SOLO 官方活动

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }