

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

# Gitflow 戦略のブランチ
<a name="branches-in-a-gitflow-strategy"></a>

Gitflow 分岐戦略には通常、次のブランチがあります。



![\[Gitflow 分岐戦略のブランチと環境。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/choosing-git-branch-approach/images/gitflow-branching-strategy.png)


## 機能ブランチ
<a name="feature-branch"></a>

`Feature` ブランチは、機能を開発する短期ブランチです。`feature` ブランチは、`develop`ブランチから分岐することによって作成されます。開発者は、`feature`ブランチでコードを反復、コミット、テストします。機能が完了すると、開発者は機能を昇格させます。特徴量ブランチから転送されるパスは 2 つだけです。
+ `sandbox` ブランチにマージする
+ `develop` ブランチへのマージリクエストを作成する


|  |  | 
| --- |--- |
| 命名規則: | `feature/<story number>_<developer initials>_<descriptor>` | 
| 命名規則の例: | `feature/123456_MS_Implement_Feature_A` | 

## サンドボックスブランチ
<a name="sandbox-branch"></a>

`sandbox` ブランチは、Gitflow の非標準短期ブランチです。ただし、CI/CD パイプラインの開発に役立ちます。`sandbox` ブランチは主に以下の目的に使用されます。
+ 手動デプロイではなく CI/CD パイプラインを使用して、サンドボックス環境への完全なデプロイを実行します。
+ 開発やテストなど、より低い環境で完全なテストのためのマージリクエストを送信する前に、パイプラインを開発してテストします。

`Sandbox` ブランチは一時的なものであり、存続期間が長いものではありません。これらは、特定のテストが完了した後に削除する必要があります。


|  |  | 
| --- |--- |
| 命名規則: | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| 命名規則の例: | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## ブランチの開発
<a name="develop-branch"></a>

`develop` ブランチは、機能が統合、構築、検証され、開発環境にデプロイされる存続期間の長いブランチです。すべての`feature`ブランチが`develop`ブランチにマージされます。`develop` ブランチへのマージは、ビルドの成功と 2 つの開発者の承認を必要とするマージリクエストを通じて完了します。削除を防ぐには、ブランチで`develop`ブランチ保護を有効にします。


|  |  | 
| --- |--- |
| 命名規則: | `develop` | 

## リリースブランチ
<a name="release-branch"></a>

Gitflow では、`release`ブランチは短期ブランチです。これらのブランチは、ビルドオンワンのデプロイ多の方法論を取り入れて、複数の環境にデプロイできるため、特別なブランチです。 `Release`ブランチは、テスト環境、ステージング環境、または本番環境をターゲットにできます。開発チームがより高い環境に機能を昇格することを決定したら、新しい`release`ブランチを作成し、以前のリリースのバージョン番号をインクリメントします。各環境のゲートでは、デプロイを続行するには手動承認が必要です。 `Release`ブランチでは、マージリクエストを変更する必要があります。

`release` ブランチが本番環境にデプロイされたら、 `develop`ブランチと `main`ブランチにマージして、バグ修正やホットフィックスが将来の開発作業にマージされるようにする必要があります。


|  |  | 
| --- |--- |
| 命名規則: | `release/v{major}.{minor}` | 
| 命名規則の例: | `release/v1.0` | 

## メインブランチ
<a name="main-branch"></a>

`main` ブランチは、本番環境で実行されているコードを常に表す存続期間の長いブランチです。リリースパイプラインからのデプロイが成功すると、コードはリリースブランチから`main`ブランチに自動的にマージされます。削除を防ぐには、ブランチで`main`ブランチ保護を有効にします。


|  |  | 
| --- |--- |
| 命名規則: | `main` | 

## バグ修正ブランチ
<a name="bugfix-branch"></a>

`bugfix` ブランチは、本番環境にリリースされていないリリースブランチの問題を修正するために使用される短期ブランチです。`bugfix` ブランチは、`release`ブランチ内の修正をテスト、ステージング、または本番環境に昇格させる場合にのみ使用してください。`bugfix` ブランチは常に`release`ブランチから分岐されます。

バグ修正がテストされたら、マージリクエストを通じて`release`ブランチに昇格できます。その後、標準のリリースプロセスに従って`release`ブランチをプッシュできます。


|  |  | 
| --- |--- |
| 命名規則: | `bugfix/<ticket>_<developer initials>_<descriptor>` | 
| 命名規則の例: | `bugfix/123456_MS_Fix_Problem_A` | 

## 修正ブランチ
<a name="hotfix-branch"></a>

`hotfix` ブランチは、本番環境の問題を修正するために使用される短期ブランチです。これは、本番環境に到達するために迅速化する必要がある修正を昇格させるためにのみ使用されます。`hotfix` ブランチは常に からブランチされます`main`。

ホットフィックスがテストされたら、 から作成された`release`ブランチへのマージリクエストを通じて本番環境に昇格できます`main`。テストでは、標準のリリースプロセスに従って`release`ブランチをプッシュできます。


|  |  | 
| --- |--- |
| 命名規則: | `hotfix/<ticket>_<developer initials>_<descriptor>` | 
| 命名規則の例: | `hotfix/123456_MS_Fix_Problem_A` | 