# 版本恢复与发布

使用版本历史查看和恢复已有成果，使用发布窗口管理用户实际访问的应用。本篇帮助你选择正确的操作，并说明它们对当前工作、线上应用和数据的影响。

## 先确认你想做什么

| 你的目标                   | 使用的操作                                | 操作结果                                         |
| -------------------------- | ----------------------------------------- | ------------------------------------------------ |
| 看看旧版本是什么样子       | 版本历史中的 **预览**                     | 查看选中版本；当前编辑版本和线上版本保持原状。   |
| 从旧版本继续修改           | 版本历史中的 **恢复此版本**               | 切换当前编辑版本及关联蓝图；线上版本保持不变。   |
| 让用户使用当前编辑版本     | 发布窗口中的 **确认发布** 或 **发布更新** | 检查并部署当前版本，成功后切换线上版本。         |
| 让线上应用回到曾发布的版本 | 发布记录中的 **回退到此版本**             | 检查兼容性后切换线上版本；当前编辑版本保持原状。 |
| 暂时停止正式访问           | 发布窗口中的 **下线应用**                 | 关闭正式访问入口，保留正式数据和版本记录。       |

版本操作管理应用代码和配置，业务记录保持当前状态。数据环境和记录保留的说明见[理解预览数据和正式数据](https://ideamade.ai/zh/help/preview-and-production-data)。

## 查看历史版本

1. 打开项目，在工作台顶部选择版本号按钮，例如 **v5**，进入 **版本历史**。
2. 找到目标版本，查看修改说明、创建时间和自动检查结果。
3. 选择该版本的 **预览**。
4. 查看完成后，选择 **返回当前编辑版本**，回到原来的工作。

历史预览显示旧版本的界面和功能，并使用现有预览数据。

“曾发布”记录版本的发布历史。当前线上版本可在发布窗口中查看。

[![版本历史保留当前版本和旧版本；先预览，再决定是否恢复。](https://ideamade.ai/help/zh/version-history.jpg)](https://ideamade.ai/help/zh/version-history.jpg)

_版本历史保留当前版本和旧版本；先预览，再决定是否恢复。_

[![历史预览显示正在查看 v1、当前编辑 v2；选择返回按钮继续编辑。](https://ideamade.ai/help/zh/history-preview.jpg)](https://ideamade.ai/help/zh/history-preview.jpg)

_历史预览显示正在查看 v1、当前编辑 v2；选择返回按钮继续编辑。_

## 恢复历史版本并继续修改

先等待当前任务结束或停止，再恢复版本。

1. 打开 **版本历史**，预览并确定要恢复的版本。
2. 选择 **恢复此版本**。
3. 阅读恢复说明，核对目标版本，选择 **确认恢复**。
4. 恢复完成后，检查顶部版本号和预览内容。
5. 从这个版本继续提出修改，或打开发布窗口发布它。

恢复后，选中版本及其关联蓝图成为当前编辑内容，其他已有版本继续保留。线上应用保持原版本，准备好后可发布更新。

[![核对恢复目标及对预览、后续修改和发布的影响，再确认恢复。](https://ideamade.ai/help/zh/restore-confirm.jpg)](https://ideamade.ai/help/zh/restore-confirm.jpg)

_核对恢复目标及对预览、后续修改和发布的影响，再确认恢复。_

[![恢复后 v1 成为当前版本，v2 仍保留在历史中。](https://ideamade.ai/help/zh/restore-result.jpg)](https://ideamade.ai/help/zh/restore-result.jpg)

_恢复后 v1 成为当前版本，v2 仍保留在历史中。_

[![恢复编辑版本后，发布窗口仍显示线上 v2。只有后续发布才会改变它。](https://ideamade.ai/help/zh/restored-live-unchanged.jpg)](https://ideamade.ai/help/zh/restored-live-unchanged.jpg)

_恢复后当前编辑版本为 v1，发布窗口中的线上版本仍为 v2。_

## 发布当前版本

发布前，先在预览中检查你准备交给用户的关键操作，例如新增和编辑记录、表单提交，以及应用实际需要的登录和访问权限。

预览和正式数据分开保存。首次发布使用独立的正式数据空间，预览中的测试记录留在预览环境；后续发布继续使用已有正式数据。

1. 确认 **当前编辑版本** 就是准备发布的版本。需要发布历史版本时，先将它恢复为当前编辑版本。
2. 选择工作台顶部的 **发布**。
3. 在发布窗口核对准备发布的版本号和已有线上状态。
4. 首次发布选择 **确认发布**；已有线上应用时选择 **发布更新**；应用已下线时选择 **重新发布**。
5. 等待发布检查和部署完成。以窗口显示目标版本 **已上线** 为准。
6. 选择 **访问应用**，从正式地址检查访问和关键操作。

[![首次发布窗口显示准备上线的目标版本和正式地址。](https://ideamade.ai/help/zh/publish-confirm.jpg)](https://ideamade.ai/help/zh/publish-confirm.jpg)

_首次发布窗口显示准备上线的目标版本和正式地址。_

[![准备发布 v2 时，窗口同时列出仍在线上的 v1。](https://ideamade.ai/help/zh/publish-update.jpg)](https://ideamade.ai/help/zh/publish-update.jpg)

_准备发布 v2 时，窗口同时列出仍在线上的 v1。_

[![发布完成后，窗口显示线上 v2 和正式访问入口。](https://ideamade.ai/help/zh/published-v2.jpg)](https://ideamade.ai/help/zh/published-v2.jpg)

_发布完成后，窗口显示线上 v2 和正式访问入口。_

如窗口提示检查问题，按提示处理后再试。发布前的试用建议见[发布前检查访问权限和关键流程](https://ideamade.ai/zh/help/pre-publish-checks)。

如果发布未完成，查看提示和发布记录。已有线上版本会保持生效；首次发布失败则尚无可用的线上版本。

## 回退线上版本

线上回退适用于应用已有生效部署，并且目标版本曾经成功发布的情况。

1. 打开 **发布** 窗口。
2. 在 **发布记录** 中找到要回退的版本，选择 **回退到此版本**。
3. 核对版本号，阅读回退对应用和数据的影响，选择 **确认回退**。
4. 等待兼容性检查和部署完成，再通过 **访问应用** 检查线上结果。

回退只改变线上版本。工作台仍保留原来的当前编辑版本，便于继续修复。

历史版本需要与当前正式数据结构兼容。如果回退被阻止，先查看原因，再选择继续修复当前版本，或回退到其他兼容版本。

[![回退确认窗口说明目标版本、应用变化和正式数据的保留方式。](https://ideamade.ai/help/zh/rollback-confirm.jpg)](https://ideamade.ai/help/zh/rollback-confirm.jpg)

_回退确认窗口说明目标版本、应用变化和正式数据的保留方式。_

[![线上已回退至 v1，当前编辑版本仍为 v2。](https://ideamade.ai/help/zh/rollback-result.jpg)](https://ideamade.ai/help/zh/rollback-result.jpg)

_线上已回退至 v1，当前编辑版本仍为 v2。_

## 下线和重新发布

需要暂时停止正式访问时，在 **发布** 窗口选择 **下线应用**，核对当前线上版本并选择 **确认下线**。

下线会暂停正式访问，并保留正式数据和版本记录。需要恢复访问时，确认当前编辑版本，选择 **重新发布**，等待发布成功。

重新发布以当前编辑版本为目标。如果希望重新上线某个历史版本，先将它恢复为当前编辑版本。

[![应用下线后，可以从当前编辑版本重新发布以恢复访问。](https://ideamade.ai/help/zh/unpublished.jpg)](https://ideamade.ai/help/zh/unpublished.jpg)

_应用下线后，可以从当前编辑版本重新发布以恢复访问。_

## 常见问题

### 为什么我已经看到新页面，用户仍看到旧内容？

Builder 预览与线上应用使用不同的版本。保存修改后，还需要发布更新。先在发布窗口核对线上版本，再打开正式地址。

### 为什么发布按钮不可用？

可能尚无已保存版本、检查结果未加载或未通过、访问地址尚未配置，或另一个发布操作正在进行。按窗口提示处理；涉及平台配置时[联系支持](mailto:hello@ideamade.ai)。
