Git 工作流程
审查更改,使用分支,以及在 Dream 中使用 Git 工作树。
在右侧工具栏中打开 Git,以查看 更改、历史 和 拉取请求 选项卡。聊天界面下方的 Git 操作 菜单提供了当前分支的下一步操作。
开始之前#
对于提交操作,您的仓库需要配置 Git 作者身份。对于推送操作,它需要一个远程仓库以及可以访问该远程仓库的凭据。拉取请求的创建使用 GitHub CLI,该工具必须安装并为目标仓库进行认证。
你可以手动输入提交信息和拉取请求文本。要生成这些内容,请启用一个提供商模型,并选择 设置 → 通用 → 模型 → 文本生成模型。
审查更改#
- 打开 Git → 更改 以检查已修改、已添加和已删除的文件。
- 展开文件以审查其差异。
- 在标题中选择 统一差异 或 分栏差异,如果需要,可在 更改操作 中启用换行显示。
- 如果在 Dream 外部完成的更改尚未反映,请使用 更改操作 → 刷新。
对于非常大的差异,Dream 可能会显示 差异太大而无法渲染。仅在您希望加载该更大的视图,或在编辑器或终端中检查文件时,才使用 无论如何渲染。
使用文件的 还原文件更改 功能来放弃不需要的暂存更改。还原所有更改 的范围更广;在确认之前请务必审查其作用范围。还原代码与归档生成该代码的聊天记录是两个独立的操作。若只想撤销某个回复所导致的更改,请使用该回复的 检查点。
要向代理询问特定行的内容,请在差异中拖动行号或点击行的 + 控制按钮,然后输入评论。Dream 会将该评论连同文件路径和选中的行一起发送。详见 向聊天发送反馈。
提交你的工作#
- 打开 Git → 更改,或从底部 提交 菜单中选择 Git 操作。
- 在提交 composer 之下审查文件差异。
- 检查 包括未暂存的。它默认已启用,并会将未暂存的更改包含在提交中。
- 检查默认开启的 自动生成消息。若要自行编写消息,请关闭此选项并输入文本;关闭时会清除生成的消息。
- 选择 提交,或选择 提交并推送 如果你准备将提交发布到远程。
仅提交选定的子集时,请在终端或外部编辑器中使用 Git 对这些文件进行暂存,并将 包括未暂存的 关闭。更改面板不提供单个文件的暂存控制。
Dream 在检测到活动项目文件夹外存在已暂存的更改时会拒绝提交。请单独提交这些更改,然后再继续此操作。
在启用“包含未提交内容”时,一次提交可以包含多个共享此检出的聊天的工作。
推送一个分支#
对于没有上游的分支,使用 发布分支;要发送待推送的提交,使用 推送。这些底部操作会立即执行推送。请先检查分支、远程仓库以及 历史 中的提交;如果有上游,底部会显示领先和落后的提交数。
如果推送失败,请检查错误并确认远程访问权限。即使后续的推送失败,成功的本地提交仍会保持已提交状态;在重复组合操作前,请检查分支状态。
创建拉取请求#
- 在名称与 PR 的基础分支不同的特征分支上工作。
- 在底部选择 创建 PR,或 Git 操作 → 创建拉取请求。
- 审查源分支和基础分支以及提出的变更。
- 输入标题和描述,或使用 自动生成 PR 详细信息 并审查生成的文本。
- 在“下一步”中,选择与分支状态匹配的操作。
- 如果该拉取请求尚未准备好审查,请开启 草稿 然后提交。
| 下一步 | 发生了什么 |
|---|---|
| 创建 PR | 为已推送的工作创建 PR |
| 推送并创建 PR | 在创建拉取请求之前推送提交 |
| 提交、推送并创建 PR | 提交工作更改,推送,并创建 PR |
对话框初始时 草稿 为关闭状态。启用它以创建草稿型 Pull Request。创建 Pull Request 需要一个分支,而不是一个脱离 HEAD 的状态,且源分支和基础分支不能相同。
如果一个组合操作失败,早期步骤可能已经完成。在重试之前,请检查提交、远程分支或拉取请求。
审查并合并一个拉取请求#
打开 Git → 拉取请求 查看当前分支的拉取请求。使用 摘要 查看其描述、检查项和讨论内容,或使用 代码 检查差异并添加行内评论。在允许的情况下,可以编辑标题和描述,并使用 合并 选择合并方式。有关完整的工作流程,请参见 审查拉取请求。
切换或创建分支#
在聊天区域下方打开分支切换器,搜索本地分支并选择一个以检出它。使用 创建并检出新分支… 来命名和创建分支。如果在 Dream 之外创建的分支缺失,刷新列表。
切换分支会改变该项目中每个聊天使用的文件。在切换之前,请检查未完成的工作。对于具有独立检出的并行任务,请使用 Git 工作树。当一个工作树完成时,可以使用其页脚将其合并到主分支、创建拉取请求或移除该检出。参见 完成一个工作树。
浏览提交历史记录#
打开 Git → 历史,或 Git 操作 → 查看历史,以跟随彩色图表中的提交和合并。使用 搜索提交 来按消息、作者、哈希前缀或引用过滤已加载的提交。加载更多 包含更早的提交;清除搜索将重新显示图表。
将鼠标悬停在某个提交上或使用键盘聚焦它以使用 复制提交哈希。