# 发布更改 (/zh/editor/publish)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1414 · updated: 2026-09-23 -->
Related: [如何使用编辑器](/zh/editor/tutorial.md), [创建和编辑页面](/zh/editor/pages.md), [审阅更改](/zh/editor/review.md), [在编辑器中协作](/zh/editor/collaborate.md), [询问智能体](/zh/editor/agent.md), [编辑器的 AI 与发布设置](/zh/editor/settings.md)

编辑时你的更改会自动保存，但只有在你发布之后才会出现在你的线上站点上。发布时会发生什么，取决于你在哪个分支上工作，以及该分支是否设置了分支保护。

<Note>
  如果编辑器工具栏中没有 **Publish** 按钮，说明你的 deployment 启用了[自动发布](#auto-publish)，你的编辑会自动上线。

  如果没有分支选择器，请[显示分支选择器](#show-the-branch-selector)。

  如果 **Publish** 菜单中只看到你自己的更改，请开启[分级发布](#publish-specific-changes)以查看所有人的更改。
</Note>

<div id="pending-changes">
  ## 待处理更改 [#待处理更改]
</div>

在你的 deployment branch 上，编辑器会把以下内容记录为待处理更改，直到你发布它们：

* 页面中的内容编辑
* 新增或删除的页面
* 导航结构的更改
* 上传的媒体文件
* 配置更新

点击工具栏中的 **Publish** 即可查看待处理更改。点击任意已更改的文件即可将其与已发布版本进行比较。

<div id="what-happens-when-you-publish">
  ## 发布时会发生什么 [#发布时会发生什么]
</div>

| 分支类型                                                                                                     | 分支保护            | 可用操作                                        |
| -------------------------------------------------------------------------------------------------------- | --------------- | ------------------------------------------- |
| <Tooltip tip="发布到你线上站点的分支，通常是 'main'。" headline="Deployment branch">Deployment branch</Tooltip>          | 无               | **Publish** 直接发布到你的线上站点                     |
| Deployment branch                                                                                        | 要求 pull request | **Create branch** 把工作移动到新分支                 |
| <Tooltip tip="在合并到 deployment branch 之前，用于进行更新的独立分支。" headline="Feature branch">Feature branch</Tooltip> | 无               | **Request review**，然后 **Merge and publish** |
| Feature branch                                                                                           | 受保护             | **Create branch** 以在新分支上继续编辑                |

* **Publish**：将你的待处理更改提交到 deployment branch 并部署到你的线上站点。
* **Request review**：将该分支的 pull request 标记为可供审阅。
* **Merge and publish**：将 pull request 合并到 deployment branch 并进行部署。当 pull request 达到可供审阅或已获批准状态（取决于你仓库的审阅要求）后即可使用。
* **Create branch**：当你无法发布到当前分支时，创建一个新的 feature branch。

每个分支同一时间只能进行一次发布。如果同事正在向同一分支发布，请等待其发布完成后再重试。

<Note>
  Mintlify 完成构建和部署后，你的线上站点才会更新。这通常需要 30 秒到几分钟。请在[仪表板](https://app.mintlify.com)上查看部署状态。
</Note>

<div id="invalid-mdx-blocks-publishing">
  ### 无效的 MDX 会阻止发布 [#无效的-mdx-会阻止发布]
</div>

如果你分支上的任何页面存在无效的 MDX，编辑器会禁用 **Publish** 和 **Request review** 按钮，直到你修复它。将鼠标悬停在 **Publish** 上可查看有多少页面存在错误，然后以 source 模式打开每个页面查看并修复错误。有关详细信息，请参阅[由于 MDX 无效导致发布按钮被禁用](/zh/help-center/publish-button-disabled-invalid-mdx)。

<div id="publish-specific-changes">
  ## 发布特定更改 [#发布特定更改]
</div>

当多人在你的 deployment branch 上有待处理更改时，[**分级发布**](/zh/editor/settings#granular-publishing)设置控制 **Publish** 菜单显示哪些更改。

**分级发布关闭（默认）**：**Publish** 菜单仅显示你的更改。这包括你编辑过的文件、你和同事都编辑过的文件，以及没有记录作者的文件。**Publish** 和 **Discard all** 只对这些更改生效。如果同事有其他待处理更改，会显示提示说明他们的更改已隐藏。

**分级发布开启**：**Publish** 菜单会把待处理更改分为 **Your changes** 和 **Modified by others**。你的更改默认选中，其他人的更改默认未选中。使用复选框选择要发布的更改。每个分区都有各自的 **Discard** 按钮。

对于由你之外的成员编辑过的文件，会显示一个贡献者图标。将鼠标悬停在上面即可查看是谁编辑了该文件。

* 分级发布仅在没有分支保护的 deployment branch 上生效。在 feature branch 上，发布会包含所有待处理更改。
* 删除文件夹会删除其中所有页面。这些删除操作会一起发布。你无法只删除文件夹中的一部分。
* 有些更改互相依赖，例如页面及其导航条目。如果你的选择忽略了某个被选更改所依赖的更改，发布会失败并显示错误。请调整你的选择以包含该依赖，然后再次发布。

<div id="work-on-a-branch">
  ## 在分支上工作 [#在分支上工作]
</div>

如果你不使用审阅工作流，可以直接在 deployment branch 上编辑。如果每项更改在上线前都需要审阅，请创建分支。

若要创建分支：

1. 点击编辑器工具栏中的分支名称。在 deployment branch 上，该名称会带有 **Live** 徽章。
2. 可选：在 **Find a branch** 中为分支输入标题。
3. 点击 **New branch**。

如果你不输入标题，编辑器会以当前日期为分支命名。如果创建分支时你有待处理更改，编辑器会询问是 **Bring them to this branch** 还是 **Leave them behind**。无论哪种选择，你的原始分支都会保留其待处理更改。

在编辑器中创建的分支上进行的编辑会自动提交到该分支，通常在你停止编辑约 15 秒后。首次提交会打开一个针对 deployment branch 的 pull request。如果启用了[默认创建草稿 pull request](/zh/editor/settings#create-draft-pull-requests-by-default)，pull request 会以草稿形式打开。

准备好之后，点击 **Publish**，然后点击 **Request review**。当你的 pull request 满足仓库的审阅要求后，点击 **Merge and publish**。编辑器会合并 pull request，并把你切换回 deployment branch。

<div id="manage-branches">
  ### 管理分支 [#管理分支]
</div>

分支菜单会列出你的 deployment branch 以及带有打开 pull request 的分支，包括在编辑器之外打开的 pull request。每个分支都会显示其 pull request 状态。若要查找已合并或已关闭的分支，请按名称搜索。

若要重命名或删除分支，请在分支菜单中将鼠标悬停在其上并点击 **Rename branch** 或 **Delete branch**。删除分支会将其永久从你的仓库中移除，同时删除其上任何未发布的更改。

<div id="show-the-branch-selector">
  ### 显示分支选择器 [#显示分支选择器]
</div>

如果你的 deployment branch 没有分支保护，当你在 deployment branch 上工作时，编辑器会隐藏分支选择器。若要显示它，请点击顶部栏中的 <Icon icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M12 12.002H12.5M19 12.002H19.5M5 12.002H5.5M12 13.002C12.5523 13.002 13 12.5542 13 12.002C13 11.4497 12.5523 11.002 12 11.002C11.4477 11.002 11 11.4497 11 12.002C11 12.5542 11.4477 13.002 12 13.002ZM19 13.002C19.5523 13.002 20 12.5542 20 12.002C20 11.4497 19.5523 11.002 19 11.002C18.4477 11.002 18 11.4497 18 12.002C18 12.5542 18.4477 13.002 19 13.002ZM5 13.002C5.55228 13.002 6 12.5542 6 12.002C6 11.4497 5.55228 11.002 5 11.002C4.44772 11.002 4 11.4497 4 12.002C4 12.5542 4.44772 13.002 5 13.002Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" /> **More options**，然后开启 **Branches**。此偏好设置仅对你生效。

当你的 deployment branch 具有分支保护，或你在 feature branch 上工作时，分支选择器始终显示。

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

当有人从编辑器之外向你的仓库推送时，编辑器会把他们的更改合并到你打开的页面中。通知会告诉你应用了多少次更新。

如果远程更改和你的编辑影响了页面的同一部分，编辑器会同时保留两个版本并高亮显示。查看高亮内容，保留你想要的版本，删除另一个版本。

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

在你的[账户设置](https://app.mintlify.com/settings/account)中授权 GitHub 账户，即可用它签署 commit。未经授权时，编辑器中所做的 commit 由 Mintlify GitHub App 签署。

<div id="auto-publish">
  ## 自动发布 [#自动发布]
</div>

如果你的 deployment 启用了[自动发布](/zh/editor/settings#auto-publish)，在你停止输入后不久，编辑器就会提交到你的 deployment branch。分支选择器和 **Publish** 按钮会被隐藏。没有待处理状态，也没有审阅环节。
