> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Git バージョン管理設定

> ワークスペースごとのリポジトリを含め、CData Arc の設定追跡と環境管理のために Git ベースのバージョン管理を構成する方法。

CData Arc では[Git ベースのバージョン管理](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md)を使用でき、設定の追跡、監査証跡、環境管理が可能になります。使用する前に、Git をインストールする必要があります。手順については、[前提条件](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#前提条件)を参照してください。

グローバル（アプリケーションレベル）リポジトリの設定を完了するには、**設定 > 高度な設定 > Git バージョン管理**に移動し、**設定**をクリックします。個々のワークスペースを専用のリポジトリでバージョン管理するには、[ワークスペースのGit バージョン管理設定](#ワークスペースのgit-バージョン管理設定)を参照してください。

![Git バージョン管理の設定ペイン](https://docs.arc.cdata.com/26.4/images/settings_git_local.png)

**構成の種類**を選択します：

* **リモート**：ホスト型Git リポジトリに接続します。
* **ローカル**：Arc サーバー上に直接スタンドアロンのGit リポジトリを作成します。リモートURL や認証情報は不要です。

リモートリポジトリの場合は、次の項目を指定します：

* リモートGit リポジトリへのURL。SSH を使用している場合は、ここにHTTPS アドレスを入力せず、SSH アドレス（例：`git@github.com:username/private-repo.git`）を使用する必要があります。すべての主要なGit プラットフォーム（GitHub、GitLab、Bitbucket、Azure DevOps など）がサポートされています。
* 認証スキーム。認証スキームを選択すると、設定に必要なフィールドが表示されます。
  * HTTPS：リポジトリに接続するための**ユーザー名**と**パスワード**または**トークン**。
  * SSH：リポジトリに接続するための**SSH プライベートキー**ファイルと**パスフレーズ**。詳細については、[SSH を使用した認証](#ssh-を使用した認証)を参照してください。
  * OAuth：**アクセストークンを取得**をクリックして、接続を許可するアクセストークンを取得します。

リポジトリが初期化された後でも、リモートURL を編集できます（[リモートURL の編集](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#リモートurl-の編集)を参照してください）。

**構成の種類**を**ローカル**と**リモート**の間で切り替えることもできます（詳細については、[ローカルからリモートリポジトリへの移行](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#ローカルからリモートリポジトリへの移行)および[リモートリポジトリからローカルリポジトリへの変換](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#リモートリポジトリからローカルリポジトリへの変換)を参照してください）。変更を保存すると、Arc はGit リモートを追加、変更、または削除してから、認証情報を適用します。ローカルのコミット履歴と追跡対象ファイルは保持されます。

**保存**をクリックすると、Arc はリポジトリに接続し、初期化タスクを実行します。この初期化により、`AppDirectory` 内にGit リポジトリが作成され、初期化時点で存在する設定を含む`settings-before-git-init-<initialization_date>` という名前のブランチが作成され、それらの設定ファイルがコミット用にステージングされます。これにより、リモートリポジトリにそれらの設定とコンフリクトするコンテンツがすでに存在する場合でも、設定が失われないようにします。

Arc のフッターは、変更されたローカルファイルの現在の数、現在のブランチ、（リモートリポジトリの場合）リモートコミット数など、さまざまなGit メトリクスとアクションを表示するステータスバーに変わります。リモートリポジトリの場合は、ツールバーの**コミット＆プッシュ**をクリックして、最初のコミットをリモートリポジトリにプッシュします。 ローカルリポジトリの場合は、**コミット**をクリックします。

![Git バージョン管理のフッターツールバー](https://mintcdn.com/cdata-arc/d_uxoDpYg8BiVilE/26.4/images/version_control_footer_toolbar.png?fit=max\&auto=format\&n=d_uxoDpYg8BiVilE\&q=85\&s=d59c1b1cf3d5ea75acdc08db5941353f)

## ワークスペースのGit バージョン管理設定

[ワークスペース](https://docs.arc.cdata.com/26.4/self-hosted/ja/flows/workspaces.md)には、グローバルリポジトリとは別の独自のGit リポジトリを持たせることができます。設定するには、ワークスペースを開き、省略記号メニューの**設定**をクリックします。**Git バージョン管理**タブをクリックします。ワークスペースリポジトリとグローバルリポジトリの関係については、[グローバルリポジトリとワークスペースリポジトリ](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#グローバルリポジトリとワークスペースリポジトリ)を参照してください。

次の項目を設定します：

* **Git バージョン管理を有効にする**：このワークスペース用に別のGit リポジトリを有効にします。グローバルリポジトリがセットアップされている場合は、ワークスペースのバージョン管理を有効にするとグローバルリポジトリから除外され、設定したリポジトリでのみ追跡されることを説明する警告が表示されます。接続、証明書、プロファイルなど、ワークスペースが使用する共有リソースはグローバルリポジトリに残ります。

- **構成の種類**：**リモート**を選択するとホスト型Git リポジトリに接続し、**ローカル**を選択すると外部サービスに接続せずにArc サーバー上のGit リポジトリを使用します。

* **リポジトリURL と認証**：グローバルリポジトリのフォームで必要なものと同じリポジトリURL、認証スキーム、認証情報（HTTPS、SSH、またはOAuth）を指定します。上記の設定と[SSH を使用した認証](#ssh-を使用した認証)を参照してください。

![バージョン管理が有効なワークスペース設定のGit バージョン管理タブ](https://docs.arc.cdata.com/26.4/images/version_control_workspace_settings_enabled.png)

**保存**をクリックして設定を適用します。

> [!NOTE]
>
> ワークスペースリポジトリには、**デフォルト**ワークスペースに関する制限など、いくつかのルールがあります。詳細については、[グローバルリポジトリとワークスペースリポジトリ](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#グローバルリポジトリとワークスペースリポジトリ)を参照してください。
>
> **構成の種類**は**ローカル**と**リモート**の間で切り替えることができます。
>
> グローバルリポジトリと同様に、初期化後もリモートURL を編集できます。

## SSH を使用した認証

SSH を使用して認証するには、次の手順に従ってください：

* `ls -al ~/.ssh` を実行して、既存のSSH キーがあるか確認します。
* 既存のキーがある場合は、それを使用できます。あるいは、次のコマンドを実行して新しいSSH 公開鍵/秘密鍵のペアを生成します：`ssh-keygen -t ed25519 -C "your_email@example.com"`。
* 必要に応じて、セキュリティ強化のためにキーにパスフレーズを追加します。
* **SSH プライベートキー**フィールドを使用して、秘密鍵をアップロードします。
* 公開SSH キーをGit プラットフォームに追加します。

SSH を使用した認証方法の詳細については、お使いのGit プラットフォームのドキュメントを参照してください。

## Git 設定の削除

グローバルのGit バージョン管理の設定を削除するには、設定パネルのゴミ箱アイコンをクリックし、**Git リポジトリのオプション**を選択します：

* **基になるリポジトリをそのまま維持**：Arc はリポジトリから切断されますが、`.git` フォルダはディスク上に残ります。サーバー上のGit ツールを使用して、リポジトリと直接対話することができます。
* **基になるリポジトリを削除**：`.git` フォルダを削除し、このインストールのバージョン管理を完全に無効にします。ステージングされた変更はすべて永久に失われます。

**Leave...** オプションは、ローカルリポジトリを使用している場合に便利です。コミット履歴が保持され、後で再接続できます。リポジトリを削除せずに、インターフェースで[リモートリポジトリに変換](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/git-version-control.md#ローカルからリモートリポジトリへの移行)することもできます。

設定を削除した後は、**設定**をクリックしてバージョン管理を再設定できます。

ワークスペースのGit リポジトリを削除するには、**Git バージョン管理を有効にする**をオフに切り替え、**保存**をクリックします。グローバルリポジトリの場合と同じ**Git リポジトリのオプション**の選択肢が表示されますが、ワークスペースの場合は結果が異なります：

* **基になるリポジトリをそのまま維持**：Arc はワークスペースをリポジトリから切断しますが、`.git` フォルダは残ります。コミットされていない変更はそのリポジトリに残ります。グローバルリポジトリがあっても、ワークスペースはグローバルリポジトリで追跡されません。
* **基になるリポジトリを削除**：ワークスペースの`.git` フォルダを削除します。グローバルリポジトリがある場合、ワークスペース内のコミットされていない変更は自動的にグローバルリポジトリに追加され、グローバルリポジトリが再びワークスペースを追跡します。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.