---
url: 'https://dxpr.com/zh-hans/hc/documentation/learn-dxpr-builder/advanced/version-control'
title: '版本控制 | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T00:44:46+00:00'
updated: '2026-10-24T09:09:48+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'DXPR Builder 的设置、模板和档案属于 Drupal 配置，因此随其他配置一起进入 git。页面属于内容，留在数据库中。本页列出了两者的区分，以及如何在环境之间移动它们。'
tags:
  - 'Run it in production'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T09:09:48+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 版本控制
      description: 'DXPR Builder 的设置、模板和档案属于 Drupal 配置，因此随其他配置一起进入 git。页面属于内容，留在数据库中。本页列出了两者的区分，以及如何在环境之间移动它们。'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T00:44:46+0000'
      dateModified: '2026-10-24T09:09:48+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/zh-hans/hc/documentation/learn-dxpr-builder/advanced/version-control'
      articleSection: 投入生产运行
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/zh-hans/hc/documentation/learn-dxpr-builder/advanced/version-control'
      description: 'DXPR Builder 的设置、模板和档案属于 Drupal 配置，因此随其他配置一起进入 git。页面属于内容，留在数据库中。本页列出了两者的区分，以及如何在环境之间移动它们。'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 首页
            item: 'https://dxpr.com/zh-hans'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: zh-hans
---
[帮助中心](/zh-hans/node/75)/[文档](/zh-hans/hc/documentation) /[学习 DXPR Builder](/zh-hans/hc/documentation/learn-dxpr-builder) /[管理网站](/zh-hans/hc/documentation/learn-dxpr-builder/manage) /[投入生产运行](/zh-hans/hc/documentation/learn-dxpr-builder/manage/production) # 版本控制.

 学习 DXPR Builder管理网站投入生产运行

   ## 本指南内容

 相关指南

- [CI/CD 集成](/zh-hans/hc/documentation/learn-dxpr-builder/advanced/ci-cd)

DXPR Builder 的设置、模板和档案属于 Drupal 配置，因此随其他配置一起进入 git。页面属于内容，留在数据库中。本页列出了两者的区分，以及如何在环境之间移动它们。

## 哪些内容进入版本控制

| 类型 | 是否进入版本控制 | 方式 |
|---|---|---|
| 设置 | 是，将产品密钥放入键之后 | 配置导出；见下文 |
| 页面模板 | 是 | 配置实体 |
| 用户模板 | 是 | 配置实体 |
| 用户档案 | 是 | 配置实体 |
| 产品密钥 | 仅不含值 | Key 实体；见下文 |
| 页面内容 | 通常否 | 存放在数据库中 |
| 上传文件 | 通常否 | 存放在文件目录中 |

## 配置管理

导出配置：

```bash
drush config:export

```

这会将以下 DXPR Builder 文件写入同步目录（通常为 `config/sync/`）：

- `dxpr_builder.settings.yml`
- `dxpr_builder.page_template.*.yml`
- `dxpr_builder.user_template.*.yml`
- `dxpr_builder.dxpr_builder_profile.*.yml`
- `key.key.dxpr_builder_jwt.yml`，或您为产品密钥选择的 Key 实体

**重要提示：**在默认的 **Configuration storage** 下，`dxpr_builder.settings.yml` 以明文保存您的产品密钥，即 `json_web_token`。在提交该文件之前，请将 **Storage method** 设为 **Key module**，位置在 **DXPR Studio** &gt; **DXPR Builder** &gt; **General Settings** (`/admin/dxpr_studio/dxpr_builder/settings`)。选择一个提供方读取环境变量或文件的键；保存表单后 `json_web_token` 即被清除。使用 **Configuration** 提供方的键仍将值存放在自己导出的文件中，因此请先在 **Configuration** &gt; **System** &gt; **Keys** (`/admin/config/system/keys`) 更改其提供方。然后重新导出，将这些文件提交到代码库。

## 部署配置

在目标环境上：

```bash
drush config:import
drush cache:rebuild

```

这会应用版本控制中的设置、模板和档案。

## 环境之间的内容

页面内容（文本字段中的 HTML）是数据库内容，不是配置。要移动它：

- 用 **Default Content** 模块以 YAML 导出和导入内容。
- 用 **Content Synchronization** 在环境之间持续同步内容。
- 用 Drush 移动单个页面的标记：`drush dxb:page:get 42` 以 YAML 在 `markup` 下输出它，`drush dxb:page:update 42 --markup=@page.html` 将其写入目标上的页面，成为新修订。

## 团队工作流

1. 开发人员在本地创建页面模板。
2. 导出配置并提交。
3. 推送到代码库。
4. 部署到暂存站检查。
5. 批准后部署到生产站。

## 接下来做什么？

[用于自动部署的 CI/CD 流水线](/zh-hans/hc/documentation/learn-dxpr-builder/advanced/ci-cd)，继续探索 DXPR Builder。