モノレポ

GitBook はモノレポをサポートしています。モノレポとは、複数の論理プロジェクト(例: iOS クライアントと Web アプリケーション)を含むリポジトリのことです。

GitBook は、同じリポジトリ内の複数のディレクトリを複数のスペースと同期できます。スペースで Git Sync を有効にする際に、「プロジェクトディレクトリ」を設定できます。これは、次の項目を検索するために使用されます。 .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 Sync レベルの「プロジェクトディレクトリ」オプションは、 root オプション.gitbook.yaml 設定ファイルのものとは異なります。前者は次の項目を検索するために使用されます。 .gitbook.yaml それ自体を、そしてその後、ディレクトリ内の残りのファイルを検索するために両方が組み合わされます。もし .gitbook.yaml 「プロジェクトディレクトリ」に存在しない場合、同期ではこのディレクトリに限定されたデフォルト設定が使用されます。

プロジェクトディレクトリの更新

circle-info

ほとんどの場合、プロジェクトディレクトリを更新するには次の手順を推奨します:

  1. 既存の Git Sync を無効にする

  2. Git リポジトリ内のファイルをプロジェクトディレクトリへ移動する

  3. 新しいプロジェクトディレクトリで Git Sync を再設定する

場合によっては、最初は 1 つのスペースのみと同期する一般的なリポジトリで開始したものの、その後、それと同期する複数のスペースを持つモノレポへ移行することを決めた、あるいはプロジェクトディレクトリの名前を変更する必要があるかもしれません。

既存の Git Sync でプロジェクトディレクトリを変更すると、コンテンツに予期しない影響が出る可能性があります。変更は次回の同期時(GitBook 上での編集、または Git リポジトリへの新しいコミット)にのみ反映されます。

次の操作が Git リポジトリからのインポートの場合:

GitBook は、ページとファイルがプロジェクトディレクトリ内にあることを想定します。ファイルがまだリポジトリのプロジェクトディレクトリに移動されていない場合、同期の結果はコンテンツのない空のスペースになります。

次の操作として、GitBook 関連のすべてのファイル(markdown ファイル、README/SUMMARY、アセット)を、リポジトリ内の正しい新しい場所、つまりプロジェクトディレクトリへ移動するコミットを行うことを推奨します。

次の操作が GitBook から Git リポジトリへのエクスポートの場合:

GitBook は新しいプロジェクトディレクトリ内に新しいファイルを生成または更新します。GitBook と同期されたファイルは(可能な限り)新しいプロジェクトディレクトリへ移動されます。他のシステムの一部がこれらのファイルに依存している場合、副作用を引き起こす可能性があります。

最終更新

役に立ちましたか?