---
locale: zh-cn
title: 审查与提交
description: 无需离开 q，即可检查整个仓库的变更并创建经过审查的 Conventional Commit。
sectionLabel: 指南
toc:
  - id: 检查仓库变更
    label: 检查仓库变更
  - id: 理解视图
    label: 理解视图
  - id: 准备提交
    label: 准备提交
  - id: 审查并完成
    label: 审查并完成
---

## 检查仓库变更

运行 `/changes` 打开 q 的只读 Git 浏览器。它列出所在仓库中已暂存、未暂存和未跟踪的文件。

- 上下方向键或 `j`/`k` 选择文件。
- Enter 聚焦 diff，Tab 在文件与 diff 面板间切换。
- PageUp/PageDown 垂直滚动，左右方向键滚动长行。
- `r` 重新加载仓库状态；Escape 返回对话。

仅打开该视图不会暂存、编辑或提交任何文件。

## 理解视图

浏览器显示仓库当前状态，其中包括本轮 q 工作之前已有的变更。它并不是每轮代理操作的审计日志。

已暂存和未暂存的补丁分别显示，即使两者相对于 `HEAD` 相互抵消也是如此。已知文本格式会使用语法高亮，二进制文件显示提示；未知或过大的源码回退为纯文本。选中补丁的预览限制为 256 KiB 或 4,000 行，截断时会明确标记。

## 准备提交

在对话中运行 `/commit`，或在当前仓库中启动独立工作流：

```powershell
q commit
```

如果索引中已有暂存变更，q 会使用当前索引。如果索引为空，q 会暂存当前工作树变更，但排除 q 管理的根目录 `.q` 元数据。随后使用配置的 `commit` 模型生成单条 Conventional Commit 消息或拆分提交方案。

创建提交前，q 会再次确认捕获的索引仍与方案匹配。如果审查期间仓库状态变化，请重新生成或重新开始，不要提交过期的文件分组。

## 审查并完成

在提交界面，上下方向键选择拆分方案，`e` 编辑消息，`Ctrl+S` 保存编辑，`r` 重新生成。Enter 提交已批准的方案。`p` 提交并推送；推送需要现有 upstream。Escape 取消而不创建提交。

批准前请检查每一组的文件和消息。q 可以提出并执行 Git 操作，但不会假定此前已有的不相关变更属于当前任务。
