# GitLab Syncを有効にする

### はじめに

GitLab リポジトリと同期したいスペースで、右上のスペースメニューを開き、次を選択します **Git と同期**を開き、 **GitLab Sync**を入力し、 **設定**.

<figure><img src="https://4217681718-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNkEGS7hzeqa35sMXQZ4X%2Fuploads%2FCZRMtOF5b7dArKJxbQV1%2FEnabling%20GitLab%20Sync%402x.png?alt=media&#x26;token=9e78da77-b61d-44a6-baa3-c219e5b96f85" alt="A GitBook screenshot showing GitLab Sync configuration options"><figcaption><p>GitLab 同期の設定オプション。</p></figcaption></figure>

### API アクセストークンを生成して入力する

GitLab のユーザー設定で API アクセストークンを生成できます。

{% hint style="info" %}
GitLab には、Project と Personal の 2 種類のアクセストークンがあります。連携を機能させるには Personal トークンを使用する必要があることに注意してください。これは GitLab のユーザー設定メニューから生成できます。
{% endhint %}

トークンに対して次のアクセス権限を有効にしてください:

* `api`
* `read_repository`
* `write_repository`

作成するトークンに特定のロールが付与されている場合は、 `Maintainer` または `Admin` ロールであることも確認してください。

その後、GitLab 連携を設定する際に、API アクセストークン欄へトークンを貼り付けます。

### リポジトリとブランチを選択する

GitBook のコンテンツと同期して保持したいリポジトリを選択します。

{% hint style="info" %}
**リポジトリが見つかりませんか？** API トークンを作成する際に、正しい権限を設定したことを確認してください。
{% endhint %}

正しいリポジトリを選択したら、コミットをどのブランチにプッシュし、どのブランチから同期するかを選んでください。

{% hint style="warning" %}
多くの GitLab リポジトリでは、 `main` ブランチが自動的に保護対象として設定されている場合があります。その場合は、コンテンツを同期するための専用ブランチを追加することをおすすめします。その後、それを `main` にマージして、保護を維持できます。
{% endhint %}

### 初回同期を実行する

初めて同期する際は、2 つの方向のどちらかで同期するオプションがあります。

1. GitBook -> GitLab はスペースのコンテンツを同期します **に** 選択したブランチへ同期します。空のリポジトリから始める場合や、GitBook のコンテンツをすばやく取り込みたい場合に最適です。
2. GitLab -> GitBook はスペースのコンテンツを同期します **から** 選択したブランチに。この方法は、リポジトリに既存の Markdown コンテンツがあり、それを GitBook に取り込みたい場合に最適です。

### 書き込んでコミットする

これで準備完了です。スペースが [ライブ編集](https://gitbook-v2-q67etdj25-gitbook.vercel.app/url/gitbook.com/docs/documentation/ja-gitbook-documentation/collaboration/live-edits) モードでは、ライブ編集は現在ロックされています。これにより、チームの誰かが[ 変更リクエスト](https://gitbook-v2-q67etdj25-gitbook.vercel.app/url/gitbook.com/docs/documentation/ja-gitbook-documentation/collaboration/change-requests) をマージしたときに、コンテンツをリポジトリへ確実に同期できます。

GitBook で編集すると、変更リクエストのマージごとに、選択した GitLab ブランチへのコミットが作成されます。

GitLab にコミットすると、各コミットは履歴コミットとして GitBook スペースに同期されます。
