

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Git での EB CLI の使用
<a name="eb3-cli-git"></a>

EB CLI は Git 統合を提供するので、コードブランチを Elastic Beanstalk の特定の環境に関連付けてデプロイを整理できます。

**Git をインストールして Git リポジトリを初期化するには**

1. [http://git-scm.com](http://git-scm.com) にアクセスして、Git の最新バージョンをダウンロードします。

1. 次のコマンドを入力して、Git リポジトリを初期化します。

   ```
   ~/eb$ git init
   ```

   これで、EB CLI は、アプリケーションが Git を使ってセットアップされることを認識します。

1. **eb init** をまだ実行していない場合は、ここで実行します。

   ```
   ~/eb$ eb init
   ```

## Elastic Beanstalk 環境を Git ブランチに関連付ける
<a name="eb3-cli-git.branches"></a>

コードの各ブランチに異なる環境を関連付けることができます。ブランチをチェックアウトすると、変更は関連付けられた環境にデプロイされます。例えば、次のように入力すると、本番環境をメインラインブランチに関連付け、別の開発環境を開発ブランチに関連付けることができます。

```
~/eb$ git checkout mainline
~/eb$ eb use prod
~/eb$ git checkout develop
~/eb$ eb use dev
```

## 変更のデプロイ
<a name="eb3-cli-git.deploy"></a>

デフォルトでは、EB CLI はコミット ID およびメッセージをそれぞれアプリケーションバージョンラベルと説明として使用して、最新のコミットを現在のブランチでデプロイします。コミットしない環境にデプロイする場合は、`--staged` を使用して、ステージング領域に追加された変更をデプロイするオプションを使用できます。

**変更をコミットしないでデプロイするには**

1. 新しいファイルと変更されたファイルをステージング領域に追加します。

   ```
   ~/eb$ git add .
   ```

1. **eb deploy** を使用してステージングされた変更をデプロイします。

   ```
   ~/eb$ eb deploy --staged
   ```

EB CLI が[アーティファクトをデプロイする](eb-cli3-configuration.md#eb-cli3-artifact)ように設定しており、アーティファクトを Git リポジトリにコミットしていない場合は、`--staged` オプションを使用して最新のビルドをデプロイします。

## Git サブモジュールの使用
<a name="eb3-cli-git.submodules"></a>

一部のコードプロジェクトは、Git サブモジュール (最上位レポジトリ内のレポジトリ) から利点を得られます。**eb create** または **eb deploy** を使用してコードをデプロイするときに、EB CLI は、アプリケーションバージョンの zip ファイルにサブモジュールを含め、コードと他の部分とともにアップロードできます。

プロジェクトフォルダの EB CLI 設定ファイル `include_git_submodules` の `global` セクションで `.elasticbeanstalk/config.yml` オプションを使用して、サブモジュールのインクルードを制御できます。

サブモジュールを含めるには、このオプションを `true` に設定します。

```
global:
  include_git_submodules: true
```

`include_git_submodules` オプションが見つからないか、`false` に設定されている場合、EB CLI はアップロードされた zip ファイルにサブモジュールを含めません。

Git サブモジュールの詳細については、「[Git ツール - サブモジュール](https://git-scm.com/book/en/v2/Git-Tools-Submodules)」を参照してください。

**デフォルトの 動作**  
**eb init** を実行してプロジェクトを設定すると、EB CLI は `include_git_submodules` オプションを追加し、`true` に設定します。これにより、プロジェクト内のサブモジュールが確実にデプロイに含まれます。  
EB CLI は常にサブモジュールのインクルードをサポートしていませんでした。サブモジュールのサポートが追加される前に存在していた、プロジェクトに対する偶発的または望ましくない変更を避けるため、`include_git_submodules` オプションが見つからない場合、EB CLI はサブモジュールを含めません。これら既存のプロジェクトの 1 つがあり、デプロイにサブモジュールを含める場合は、このセクションで説明しているように、オプションを追加し、それを `true` に設定します。

**CodeCommit の動作**  
Elastic Beanstalk の CodeCommit との統合は、現時点ではサブモジュールをサポートしていません。環境で CodeCommit との統合を有効にした場合、サブモジュールはデプロイに含まれません。

## Git タグのアプリケーションバージョンへの割り当て
<a name="eb3-cli-git.tags"></a>

Git タグをバージョンラベルとして使用し、環境で実行されているアプリケーションバージョンを識別できます。たとえば、次のコマンドを入力します。

```
~/eb$ git tag -a v1.0 -m "My version 1.0"
```