

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

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

# Amazon CodeCatalyst でブランチを使用してソースコードを整理する
<a name="source-branches"></a>

Git では、ブランチはコミットへのポインターまたは参照です。開発時、ブランチはタスクを整理するのに便利な方法です。ブランチを使用すると、他のブランチの作業に影響を与えることなく、新しいバージョンまたは異なるバージョンのファイルで個別に作業を行うことができます。ブランチを使用すると、新機能の開発、特定バージョンのプロジェクトの保管などができます。プロジェクト内の特定のロールによるブランチでの特定のアクションを制限するようソースリポジトリのブランチのルールを設定できます。

Amazon CodeCatalyst のソースリポジトリには、作成方法に関係なく、コンテンツとデフォルトブランチがあります。リンクされたリポジトリにはデフォルトブランチやコンテンツがない場合がありますが、初期化してデフォルトブランチを作成するまで CodeCatalyst では使用できません。ブループリントを使用してプロジェクトを作成すると、CodeCatalyst はそのプロジェクトのソースリポジトリを作成します。このプロジェクトには、README.md ファイル、サンプルコード、ワークフロー定義、およびその他のリソースが含まれます。ブループリントを使用せずにソースリポジトリを作成すると、README.md ファイルが最初のコミットとして追加され、*デフォルトブランチ*が作成されます。このデフォルトブランチの名前は、*main* です。このデフォルトブランチは、ユーザーがリポジトリをクローンするときに、ローカルリポジトリのベースブランチまたはデフォルトブランチとして使用されるブランチです。

**注記**  
デフォルトブランチは削除できません。ソースリポジトリ用に作成された最初のブランチは、そのリポジトリのデフォルトブランチです。さらに、検索ではデフォルトブランチの結果のみが表示されます。他のブランチでコードを検索することはできません。

CodeCatalyst でリポジトリを作成すると、最初のコミットも作成され、README.md ファイルを含む*デフォルトブランチ*が作成されます。そのデフォルトブランチの名前は、*main* です。これは、このガイドの例で使用されているデフォルトのブランチ名です。

**Topics**
+ [ブランチを作成する](source-create-delete-branch.md)
+ [リポジトリのデフォルトブランチを管理する](source-branches-default-branch.md)
+ [ブランチルールを使用してブランチで許可されたアクションを管理する](source-branches-branch-rules.md)
+ [ブランチ関連の Gitコマンド](source-branches-git.md)
+ [ブランチと詳細を表示する](source-branches-view.md)
+ [ブランチを削除する](source-branches-delete.md)

# ブランチを作成する
<a name="source-create-delete-branch"></a>

CodeCatalyst コンソールを使用して CodeCatalyst リポジトリにブランチを作成できます。作成したブランチは、他のユーザーが次にリポジトリから変更をプルするときに表示されます。

**ヒント**  
コードを操作する開発環境の作成の一環として、ブランチを作成することもできます。詳細については、「[開発環境の作成](devenvironment-create.md)」を参照してください。

Git を使用してブランチを作成することもできます。詳細については、「[ブランチの一般的な Git コマンド](source-branches-git.md#source-branches-git-table)」を参照してください。

**ブランチを作成するには (コンソール)**

1. CodeCatalyst コンソールで、ソースリポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]**、**[ソースリポジトリ]** の順に選択します。

1. ブランチを作成するリポジトリを選択します。

1. リポジトリの概要ページで、**[その他]**、**[ブランチの作成]** の順に選択します。

1. ブランチの名前を入力します。

1. ブランチ元となるブランチを選択して **[作成]** を選択します。

# リポジトリのデフォルトブランチを管理する
<a name="source-branches-default-branch"></a>

Amazon CodeCatalyst のソースリポジトリで*デフォルトブランチ*として使用するブランチを指定できます。CodeCatalyst のすべてのソースリポジトリには、作成方法に関係なく、コンテンツとデフォルトブランチがあります。ブループリントを使用してプロジェクトを作成する場合、そのプロジェクト用に作成されたソースリポジトリのデフォルトブランチは、*main* と名付けられています。デフォルトブランチの内容は、そのリポジトリの [概要] ページに自動的に表示されます。

**重要**  
CodeCatalyst は、リンクされたリポジトリのデフォルトブランチの変更の検出をサポートしていません。リンクされたリポジトリのデフォルトブランチを変更するには、まず CodeCatalyst からリンクを解除し、デフォルトブランチを変更してから再度リンクする必要があります。詳細については、「[CodeCatalyst での GitHub リポジトリ、Bitbucket リポジトリ、GitLab プロジェクトリポジトリ、および Jira プロジェクトのリンク](extensions-link.md)」を参照してください。  
ベストプラクティスとして、リポジトリをリンクする前に、必ず最新バージョンの拡張機能があることを確認してください。

デフォルトブランチは、ソースリポジトリ内の他のすべてのブランチとは少し異なり、名前の横に **[デフォルト]** という特別なラベルが付けられます。このデフォルトブランチは、ユーザーが Git クライアントでローカルコンピュータにリポジトリをクローンする際に、ローカルリポジトリのベースブランチまたはデフォルトブランチとして使用されます。また、ワークフロー YAML ファイルを保存したり、問題に関する情報を保存したりするためのワークフローを作成するときにも使用されるデフォルトです。CodeCatalyst で検索を使用する場合、リポジトリのデフォルトブランチのみが検索されます。デフォルトブランチはプロジェクトの非常に多くの側面に不可欠であるため、デフォルトブランチとして指定されているブランチを削除することはできません。ただし、デフォルトブランチとして別のブランチを使用することができます。別のブランチを使用する場合、以前のデフォルトブランチに適用されていた任意の[ブランチルール](source-branches-branch-rules.md)が、自動的にデフォルトブランチとして指定したブランチに適用されます。

**注記**  
CodeCatalyst プロジェクトのソースリポジトリのデフォルトブランチを変更するには、Project administrator ロールが必要です。これは、リンクされたリポジトリには適用されません。

**リポジトリのデフォルトブランチを表示および変更する**

1. リポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]** > **[ソースリポジトリ]** の順に選択します。

   デフォルトブランチなど、設定を表示するリポジトリを選択します。

1. リポジトリの [概要] ページで、**[その他]** > **[設定を管理]** の順に選択します。

1. **[デフォルトブランチ]** には、デフォルトブランチとして指定したブランチ名と、その横に**デフォルト**というラベルが表示されます。同ラベルは、**[ブランチ]** のブランチリストに記載されているブランチ名にも表示されます。

1. デフォルトブランチを変更するには、**[編集]** を選択します。
**注記**  
デフォルトブランチを変更するには、プロジェクトで Project administrator ロールが必要です。

1. デフォルトブランチにするブランチの名前をドロップダウンリストから選択し、**[保存]** を選択します。

# ブランチルールを使用してブランチで許可されたアクションを管理する
<a name="source-branches-branch-rules"></a>

ブランチを作成すると、そのロールのアクセス許可に基づいて、そのブランチに対して特定のアクションが許可されます。ブランチルールを設定することで、特定のブランチに許可されるアクションを変更できます。ブランチルールは、プロジェクトでユーザーに付与されているロールに基づいています。プロジェクト内の特定のロールを持つユーザーやブランチにコミットをプッシュするなど、いくつかの事前定義されたアクションを制限できます。これにより、特定のアクションを実行できるロールを制限することで、プロジェクト内の特定のブランチを保護できます。例えば、**Project administrator** ロールを持つユーザーのみがそのブランチにマージまたはプッシュできるようにブランチルールを設定すると、プロジェクト内の他のロールを持つユーザーはそのブランチのコードを変更できなくなります。

ブランチのルールを作成することで発生するすべての影響を考慮する必要があります。例えば、ブランチへのプッシュを **Project administrator** ロールを持つユーザーに制限すると、**Contributor** ロールを持つユーザーはそのブランチでワークフローを作成または編集できなくなります。これは、ワークフロー YAML がそのブランチに保存され、これらのユーザーは変更をコミットして、YAML にプッシュできないためです。ベストプラクティスとして、ブランチルールを作成した後にテストして、意図していない影響が発生していないかを確認します。ブランチルールをプルリクエストの承認ルールと組み合わせて使用することもできます。詳細については、「[承認ルールを使用してプルリクエストをマージするための要件を管理する](source-pull-requests-approval-rules.md)」を参照してください。

**注記**  
CodeCatalyst プロジェクトでソースリポジトリのブランチルールを管理するには、Project administrator ロールが必要です。リンクされたリポジトリのブランチルールを作成することはできません。  
ロールのデフォルトのアクセス許可よりも制限の厳しいブランチルールのみを作成できます。プロジェクトで許可されているユーザーロールのアクセス権よりも寛容なブランチルールは作成できません。例えば、レビュアーロールを持つユーザーがブランチにプッシュできるようにするブランチルールを作成することはできません。

ソースリポジトリのデフォルトブランチに適用されるブランチルールは、他のブランチに適用されるブランチルールとは少し動作が異なります。デフォルトブランチに適用されるルールは、デフォルトブランチとして指定したブランチに自動的に適用されます。以前にデフォルトブランチとして設定されていたブランチは、削除ができるようになる点を除いて、すでに適用されているルールを保持します。この削除の保護は、現在のデフォルトブランチにのみ適用されます。

ブランチルールには、**[標準]** と**[カスタム]** の 2 つの状態があります。**[標準]** は、ブランチで許可されているアクションが、CodeCatalyst のブランチアクションでユーザーに付与されているアクセス許可と一致することを示します。ロールとアクセス許可の関連性については、「[ユーザーロールによってアクセス権を付与する](ipa-roles.md)」を参照してください。**カスタム**は、1 つ以上のブランチアクションに、プロジェクト内のユーザーロールによって付与されたデフォルトのアクセス許可とは異なるアクションを実行できる特定のロールのリストを持つアクションがあることを示します。

**注記**  
ブランチの 1 つ以上のアクションを制限するブランチルールを作成する場合、**[ブランチを削除]** アクションは、Project administrator ロールを持つユーザーのみがそのブランチを削除できるように自動的に設定されます。

次の表に、ブランチでこれらのアクションを実行できるロールのアクションとデフォルト設定を示します。


**ブランチアクションとロール**  

| **ブランチアクション** |  ブランチルールが適用されない場合にこのアクションを実行できるロール  | 
| --- | --- | 
|  ブランチへのマージ (ブランチへのプルリクエストのマージを含む）  |  Project administrator、Contributor  | 
|  ブランチにプッシュする  |  Project administrator、Contributor  | 
|  ブランチを削除する  |  Project administrator、Contributor  | 
|  ブランチを削除する (デフォルトブランチ)  |  許可されていません  | 

 ブランチルールを削除することはできませんが、ブランチでこのアクションを実行することが許可されているすべてのロールからのアクションを許可するように更新することで、ルールを効果的に削除できます。

**注記**  
CodeCatalyst プロジェクトでソースリポジトリのブランチルールを設定するには、Project administrator ロールが必要です。これは、リンクされたリポジトリには適用されません。リンクされたリポジトリは、CodeCatalyst のブランチルールをサポートしていません。<a name="view-edit-branch-rules"></a>

**リポジトリのブランチルールを表示および編集する**

1. リポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]** > **[ソースリポジトリ]** の順に選択します。

   ブランチルールを表示するリポジトリを選択します。

1. リポジトリの [概要] ページで、**[ブランチ]** を選択します。

1. **[ブランチルール]** 列で、リポジトリの各ブランチのルールの状態を表示します。**[標準]** は、ブランチアクションのルールがソースリポジトリで作成されたブランチのデフォルトであり、プロジェクト内のそれらのロールに付与されたアクセス許可と一致することを示します。**[カスタム]** は、1 つ以上のブランチアクションに、そのブランチで許可される 1 つ以上のアクションを異なるロールセットに制限するルールがあることを示します。

   ブランチのブランチルールの詳細を表示するには、確認するブランチの横にある **[標準]** または **[カスタム]** を選択します。

1. ブランチルールを作成または変更するには、**[設定を管理]** を選択します。ソースリポジトリの [設定] ページにある **[ブランチルール]** で **[編集]** を選択します。

1. **[ブランチ]** で、ドロップダウンリストのルールを構成するブランチ名を選択します。許可される各アクションタイプには、ドロップダウンリストでそのアクションの実行を許可するロールを選択して、**[保存]** を選択します。

# ブランチ関連の Gitコマンド
<a name="source-branches-git"></a>

Git を使用すると、お使いのコンピュータ (ローカルリポジトリ) または開発環境にあるソースリポジトリのクローンでブランチを作成、管理および削除でき、変更をコミットして CodeCatalyst ソースリポジトリ (リモートリポジトリ) にプッシュでいます。例えば、次のようになります。


**ブランチの一般的な Git コマンド**  

|  |  | 
| --- |--- |
|  ローカルリポジトリ内のすべてのブランチを一覧表示します。現在のブランチの横にはアスタリスク (`*`) が表示されます。  |  `git branch`  | 
|  リモートリポジトリに既存するすべてのブランチに関する情報をローカルリポジトリにプルします。  |  `git fetch`  | 
|  ローカルリポジトリ内のすべてのブランチと、ローカルリポジトリ内のリモート追跡ブランチを一覧表示します。  |  `git branch -a`  | 
|  ローカルリポジトリ内のリモート追跡ブランチのみを一覧表示します。  |  `git branch -r`  | 
|  指定したブランチ名を使用して、ローカルリポジトリ内でブランチを作成します。このブランチは、変更をコミットしてプッシュするまでリモートリポジトリに表示されません。  |  `git branch branch-name`  | 
|  指定したブランチ名を使用して、ローカルリポジトリ内でブランチを作成し、そのブランチに切り替えます。  |  `git checkout -b branch-name`  | 
|  指定したブランチ名を使用して、ローカルリポジトリ内で別のブランチに切り替えます。  |  `git checkout other-branch-name`  | 
|  リモートリポジトリに対するローカルリポジトリ指定ニックネームと指定ブランチ名を使用して、ローカルリポジトリからリモートリポジトリにブランチをプッシュします。また、ローカルリポジトリのブランチに関するアップストリーム追跡情報を設定します。  |  `git push -u remote-name branch-name`  | 
|  ローカルリポジトリ内の別のブランチからローカルリポジトリ内の現在のブランチに変更をマージします。  |  `git merge from-other-branch-name`  | 
|  マージされていない作業が含まれていない限り、ローカルリポジトリ内のブランチを削除します。  |  `git branch -d branch-name`  | 
|  ローカルリポジトリがリモートリポジトリに使用する指定ニックネームとブランチ名を使用して、リモートリポジトリのブランチを削除します。(コロン (`:`) の使用に注意してください)。または、コマンドの一部として `--delete` を指定します。  | `git push remote-name :branch-name` `git push remote-name --delete branch-name`  | 

詳細については、Git ドキュメントを参照してください。

# ブランチと詳細を表示する
<a name="source-branches-view"></a>

Amazon CodeCatalyst コンソールの特定のブランチのファイル、フォルダ、最新のコミットの詳細などを含む Amazon CodeCatalyst のリモートブランチに関する情報を表示できます。Git コマンドとローカルオペレーティングシステムを使用すると、リモートブランチとローカルブランチの同情報を表示することもできます。<a name="source-branches-view-console"></a>

**ブランチを表示する (コンソール)**

1. CodeCatalyst コンソールで、ブランチを表示するソースリポジトリを含むプロジェクトに移動します。**[コード]**、**[ソースリポジトリ]** の順に選択し、ソースリポジトリを選択します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]** > **[ソースリポジトリ]** の順に選択します。

   ブランチを表示するリポジトリを選択します。

1. リポジトリのデフォルトブランチが表示されます。ブランチ内のファイルとフォルダのリスト、最新のコミットに関する情報、ブランチに存在する場合は README.md ファイルの内容を確認できます。別のブランチ情報を表示するには、リポジトリのブランチのドロップダウンリストから選択します。

1. リポジトリのすべてのブランチを表示するには、**[すべて表示]** を選択します。[ブランチ] ページには、各ブランチの名前、最新のコミット、およびルールに関する情報が表示されます。

Git とオペレーティングシステムを使用してブランチと詳細を表示する方法については、「[ブランチの一般的な Git コマンド](source-branches-git.md#source-branches-git-table)」、該当する Git ドキュメント、オペレーティングシステムドキュメントを参照してください。

# ブランチを削除する
<a name="source-branches-delete"></a>

ブランチが不要になった場合は、削除することができます。例えば、機能変更のあるブランチをデフォルトブランチにマージし、その機能がリリースされた場合、変更がすでにデフォルトブランチの一部であるため、元の機能ブランチを削除できます。ブランチの数を少なくしておくと、ユーザーが作業する変更を含むブランチを簡単に見つけることができます。ブランチを削除すると、そのブランチのコピーは、ユーザーがこれらの変更をプルして同期するまで、ローカルコンピュータのリポジトリのクローンに残ります。<a name="source-branch-delete"></a>

**ブランチを削除する (コンソール)**

1. リポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]** > **[ソースリポジトリ]** の順に選択します。

   ブランチルールを削除するリポジトリを選択します。

1. リポジトリの [概要] ページで、ブランチ名の横にあるドロップダウンセレクターを選択し、**[すべて表示]** を選択します。

1. 削除するブランチを選択し、**[削除]** を選択します。
**注記**  
リポジトリのデフォルトブランチは削除できません。

1. 確認のダイアログボックスが表示されます。リポジトリ、未対応のプルリクエスト数、ブランチに関連付けられたワークフロー数が表示されます。

1. ブランチの削除を確認するには、テキストボックスに **delete** と入力し、**[削除]** を選択します。

Git を使用してブランチを削除することもできます。詳細については、「[ブランチの一般的な Git コマンド](source-branches-git.md#source-branches-git-table)」を参照してください。