单体仓库(Monorepos)
GitBook 支持 monorepo。monorepo 是包含多个逻辑项目(例如 iOS 客户端和 Web 应用)的仓库。
GitBook 可以将同一仓库的多个目录与多个空间同步。在为某个空间启用 Git 同步时,你可以配置“项目目录”。它将用于查找 .gitbook.yaml
用于与此空间同步的目录的文件。
仓库结构示例:
/
package.json
packages/
styleguide/
.gitbook.yaml
README.md
SUMMARY.md
app/
README.md
SUMMARY.md
api/
.gitbook.yaml
README.md
SUMMARY.md
在此示例中,可以在 GitBook 上创建 3 个空间并配置为不同的根目录:
packages/styleguide
packages/app
packages/api
Git 同步级别的“项目目录”选项不同于 root
选项 在 .gitbook.yaml
配置文件。第一个用于查找 .gitbook.yaml
本身,然后两者结合用于查找目录中的其他文件。如果在“项目目录”中不存在 .gitbook.yaml
则同步将使用作用于该目录的默认配置。
更新项目目录
在某些情况下,你可能最初使用典型仓库仅与一个空间同步,但随后决定转换为一个具有多个同步空间的 monorepo;或者可能需要重命名项目目录。
在现有 Git 同步上更改项目目录可能会对内容产生意外影响,该更改仅会在下次同步期间传播(在 GitBook 上的编辑或 Git 仓库中的新提交)。
如果下一步操作是从 Git 仓库导入:
GitBook 将期望在项目目录中找到页面和文件。如果文件尚未被移动到仓库的项目目录中,则同步的结果可能是一个没有内容的空空间。
我们建议下一步操作为提交,将所有与 GitBook 相关的文件(Markdown 文件、README/SUMMARY 和资源)从仓库移动到其在项目目录中的正确新位置。
如果下一步操作是从 GitBook 导出到 Git 仓库:
GitBook 将在新的项目目录中生成或更新新文件。与 GitBook 同步的文件将被移动到新的项目目录(会尽最大努力);如果系统的其他部分依赖这些文件,可能会产生副作用。
最后更新于
这有帮助吗?