> ## Documentation Index
> Fetch the complete documentation index at: https://www.mintlify.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 在 Web 编辑器中发布更改

> 保存你的工作并发布你对文档站点的更改。

<div id="publishing-workflows">
  ## 发布工作流
</div>

编辑器支持两种发布文档更新的工作流程。你使用的工作流程取决于存储库的 branch 保护规则以及你正在使用的 branch。

**创建拉取请求**：如果你的存储库具有需要审核的 branch 保护规则，要求在更改合并到部署用分支之前必须先创建拉取请求，那么在你发布更改时，编辑器会创建一个拉取请求（PR；亦称”合并请求”/Merge Request）。

<Tip>
  当你从编辑器创建拉取请求时，Mintlify agent 会根据你的更改自动生成标题和描述。你可以在创建拉取请求之前编辑生成的标题和描述。
</Tip>

**直接发布**：如果没有保护规则，你的更改会在发布时合并到部署用分支并立即部署。

| branch 类型                                                                         | branch 保护 | 发布工作流            |
| --------------------------------------------------------------------------------- | --------- | ---------------- |
| <Tooltip headline="部署用分支" tip="用于发布到线上文档站点的 branch，通常为 'main'。">部署用分支</Tooltip>   | 无         | 提交并部署更改          |
| 部署用分支                                                                             | 需要拉取请求    | 创建一个拉取请求         |
| <Tooltip headline="功能分支" tip="一个隔离的 branch，你会在其中进行更新，然后再合并到部署用分支。">功能分支</Tooltip> | 无         | 将更改合并到部署用分支并部署更改 |
| 功能分支                                                                              | 需要拉取请求    | 创建一个拉取请求         |

<Tip>
  在你的 Git 服务提供商中配置 branch 保护规则以要求拉取请求。请参阅 GitHub 文档中的 [About protected branches](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches) 或 GitLab 文档中的 [Protected branches](https://docs.gitlab.com/user/project/repository/branches/protected/)。
</Tip>

<div id="save-changes">
  ## 保存更改
</div>

在编辑过程中，编辑器会跟踪你的更改。

* 新建或删除的文件。
* 页面内容的修改。
* 导航结构的更改。
* 媒体文件的上传和整理。
* 配置更新。

当你在部署用分支上工作时，你的更改会自动保存。

<Frame caption="部署用分支上的更改。">
  <img src="https://mintcdn.com/mintlify/bV--4TpbjuI-NlIg/images/editor/toolbar-light.png?fit=max&auto=format&n=bV--4TpbjuI-NlIg&q=85&s=2a3f642091bea5f5c813249cfcb5756e" alt="网页编辑器工具栏，显示一个待处理的更改。" className="block dark:hidden" width="1850" height="384" data-path="images/editor/toolbar-light.png" />

  <img src="https://mintcdn.com/mintlify/bV--4TpbjuI-NlIg/images/editor/toolbar-dark.png?fit=max&auto=format&n=bV--4TpbjuI-NlIg&q=85&s=b60cf09c35fe9a97615463661339acc4" alt="网页编辑器工具栏，显示一个待处理的更改。" className="hidden dark:block" width="1850" height="386" data-path="images/editor/toolbar-dark.png" />
</Frame>

当你在功能分支上工作时，请将更改保存到该分支。

<Frame caption="功能分支上的更改。">
  <img src="https://mintcdn.com/mintlify/bV--4TpbjuI-NlIg/images/editor/toolbar-branch-light.png?fit=max&auto=format&n=bV--4TpbjuI-NlIg&q=85&s=fc63a0ee1898d2e5d0155c9a20964f20" alt="网页编辑器工具栏，显示一个待处理的更改，以及功能分支上的 Save in branch 按钮。" className="block dark:hidden" width="1848" height="450" data-path="images/editor/toolbar-branch-light.png" />

  <img src="https://mintcdn.com/mintlify/bV--4TpbjuI-NlIg/images/editor/toolbar-branch-dark.png?fit=max&auto=format&n=bV--4TpbjuI-NlIg&q=85&s=0cbad6297ccab146049bb6c064af899a" alt="网页编辑器工具栏，显示一个待处理的更改，以及功能分支上的 Save in branch 按钮。" className="hidden dark:block" width="1848" height="450" data-path="images/editor/toolbar-branch-dark.png" />
</Frame>

若要放弃更改，请在文件更改下拉菜单中文件名旁单击 **Undo changes**。

<div id="review-branch-changes">
  ## 审查分支更改
</div>

当你在功能分支上工作时，发布面板会在 **Saved in branch** 下显示你的分支与部署用分支之间的所有文件更改。这包括你保存的更改以及在同一分支上工作的任何团队成员保存的更改。

点击列表中的文件可打开差异视图，显示分支与已发布内容之间的更改。文档文件以可视化差异方式打开，其他文件类型以源代码差异方式打开。在发布之前，你可以使用此功能来审查分支上的所有更改。

无法显示差异的文件（如图片或已删除的文件）会出现在列表中，但不可点击。

已变更的页面会在文件树中高亮显示，让你一眼就能看出 [automation](/zh/automations) 或团队成员改动了哪些文件。出现在分支差异中的未列出页面（unlisted pages），即使它们没有出现在站点导航中，也可以从发布菜单中打开。

<div id="open-an-automation-run-in-the-editor">
  ### 在编辑器中打开自动化运行
</div>

当 [automation](/zh/automations) 打开一个 pull request 时，你可以直接从运行审查 UI 或其 Slack 通知跳转到编辑器，并切换到该自动化的分支：

* 在控制台的 **Automation Runs** 页面，点击已完成运行上的 **Open in editor**。
* 在 Slack 通知中，点击 **View changes** 链接。

任一入口都会打开编辑器并切换到该自动化的分支，发布菜单中会预选已变更的页面，让你无需离开编辑器即可审查差异并合并或请求更改。

<div id="publish-your-changes">
  ## 发布更改
</div>

点击工具栏中的 **Publish**。根据你的工作流，你的更改会立即部署，或者在你的 Git 服务提供商中为你创建一个拉取请求（PR；亦称“合并请求”/Merge Request），供你合并。如果你在功能分支上，请在发布前先保存更改。

如果没有待处理的更改，或者当前分支已经有打开的拉取请求（PR；亦称“合并请求”/Merge Request），则 **Publish** 按钮不可点击。

<Note>
  Mintlify 构建并部署你已发布的更改后，你的线上文档站点会更新。这通常需要 30 秒到几分钟。你可以在你的 [dashboard](https://dashboard.mintlify.com) 上查看更改的部署状态。
</Note>

## 解决冲突

当你的 branch 和部署用分支对同一文件做了互不兼容的更改时，就会发生冲突。

<div id="what-causes-conflicts">
  ### 冲突产生的原因
</div>

当你尝试合并对同一文件进行了不兼容更改的 branch 时，就会发生冲突。

* 你和另一位团队成员在不同的 branch 上编辑了同一文件中的相同行。
* 在一个 branch 中，文件被移动、重命名或删除，但在另一个 branch 中又以不同方式被修改。

<div id="resolve-conflicts">
  ### 解决冲突
</div>

当冲突导致无法执行发布或切换 branch 等操作时，编辑器会显示 Warning。要解决冲突，请按照编辑器中的提示选择要保留的更改。

<div id="commit-signing">
  ## 提交签名
</div>

在你的 [账户设置](https://dashboard.mintlify.com/settings/account) 中授权你的 GitHub 账号，即可用该账号对提交进行签名。若未完成授权，则由 Mintlify GitHub 应用为在网页编辑器中完成的提交进行签名。

将提交归属到你的账号有助于准确记录是谁对你的文档进行了更改。


## Related topics

- [在 Web 编辑器中协作](/docs/zh/editor/collaborate.md)
- [编辑器概览](/docs/zh/editor/index.md)
- [用于 AI 与发布的编辑器设置](/docs/zh/editor/settings.md)
