

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Cabang dalam strategi Gitflow
<a name="branches-in-a-gitflow-strategy"></a>

Strategi percabangan Gitflow biasanya memiliki cabang berikut.



![\[Cabang dan lingkungan dalam strategi percabangan Gitflow.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/choosing-git-branch-approach/images/gitflow-branching-strategy.png)


## cabang fitur
<a name="feature-branch"></a>

`Feature`cabang adalah cabang jangka pendek tempat Anda mengembangkan fitur. `feature`Cabang dibuat dengan bercabang dari `develop` cabang. Pengembang mengulangi, melakukan, dan menguji kode di `feature` cabang. Ketika fitur selesai, pengembang mempromosikan fitur tersebut. Hanya ada dua jalur ke depan dari cabang fitur:
+ Gabungkan ke dalam cabang `sandbox`
+ Buat permintaan gabungan ke cabang `develop`


|  |  | 
| --- |--- |
| Konvensi penamaan: | `feature/<story number>_<developer initials>_<descriptor>` | 
| Contoh konvensi penamaan: | `feature/123456_MS_Implement_Feature_A` | 

## cabang kotak pasir
<a name="sandbox-branch"></a>

`sandbox`Cabang adalah cabang jangka pendek non-standar untuk Gitflow. Namun, ini berguna untuk pengembangan CI/CD pipa. `sandbox`Cabang ini terutama digunakan untuk tujuan berikut:
+ Lakukan penyebaran penuh ke lingkungan kotak pasir dengan menggunakan CI/CD pipeline daripada penerapan manual.
+ Kembangkan dan uji pipa sebelum mengirimkan permintaan gabungan untuk pengujian penuh di lingkungan yang lebih rendah, seperti pengembangan atau pengujian.

`Sandbox`cabang bersifat sementara dan tidak dimaksudkan untuk berumur panjang. Mereka harus dihapus setelah pengujian spesifik selesai.


|  |  | 
| --- |--- |
| Konvensi penamaan: | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| Contoh konvensi penamaan: | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## mengembangkan cabang
<a name="develop-branch"></a>

`develop`Cabang adalah cabang berumur panjang di mana fitur terintegrasi, dibangun, divalidasi, dan dikerahkan ke lingkungan pengembangan. Semua `feature` cabang digabung ke dalam `develop` cabang. Penggabungan ke dalam `develop` cabang diselesaikan melalui permintaan gabungan yang memerlukan build yang berhasil dan dua persetujuan pengembang. Untuk mencegah penghapusan, aktifkan perlindungan cabang di cabang. `develop`


|  |  | 
| --- |--- |
| Konvensi penamaan: | `develop` | 

## cabang rilis
<a name="release-branch"></a>

Di Gitflow, `release` cabang adalah cabang jangka pendek. Cabang-cabang ini istimewa karena Anda dapat menerapkannya ke beberapa lingkungan, merangkul metodologi build-once, deploy-many. `Release`cabang dapat menargetkan pengujian, pementasan, atau lingkungan produksi. Setelah tim pengembangan memutuskan untuk mempromosikan fitur ke lingkungan yang lebih tinggi, mereka membuat `release` cabang baru dan menggunakan penambahan nomor versi dari rilis sebelumnya. Di gerbang di setiap lingkungan, penerapan memerlukan persetujuan manual untuk melanjutkan. `Release`cabang harus membutuhkan permintaan penggabungan untuk diubah.

Setelah `release` cabang diterapkan ke produksi, cabang harus digabungkan kembali ke `main` cabang `develop` dan untuk memastikan bahwa perbaikan bug atau perbaikan terbaru digabungkan kembali ke upaya pengembangan masa depan.


|  |  | 
| --- |--- |
| Konvensi penamaan: | `release/v{major}.{minor}` | 
| Contoh konvensi penamaan: | `release/v1.0` | 

## cabang utama
<a name="main-branch"></a>

`main`Cabang adalah cabang berumur panjang yang selalu mewakili kode yang berjalan dalam produksi. Kode digabungkan ke `main` cabang secara otomatis dari cabang rilis setelah penerapan berhasil dari pipeline rilis. Untuk mencegah penghapusan, aktifkan perlindungan cabang di cabang. `main`


|  |  | 
| --- |--- |
| Konvensi penamaan: | `main` | 

## cabang bugfix
<a name="bugfix-branch"></a>

`bugfix`Cabang adalah cabang jangka pendek yang digunakan untuk memperbaiki masalah di cabang rilis yang belum dirilis ke produksi. `bugfix`Cabang hanya boleh digunakan untuk mempromosikan perbaikan di `release` cabang ke lingkungan pengujian, pementasan, atau produksi. `bugfix`Cabang selalu bercabang dari `release` cabang.

Setelah perbaikan bug diuji, itu dapat dipromosikan ke `release` cabang melalui permintaan gabungan. Kemudian Anda dapat mendorong `release` cabang ke depan dengan mengikuti proses rilis standar.


|  |  | 
| --- |--- |
| Konvensi penamaan: | `bugfix/<ticket>_<developer initials>_<descriptor>` | 
| Contoh konvensi penamaan: | `bugfix/123456_MS_Fix_Problem_A` | 

## cabang hotfix
<a name="hotfix-branch"></a>

`hotfix`Cabang adalah cabang jangka pendek yang digunakan untuk memperbaiki masalah dalam produksi. Ini hanya digunakan untuk mempromosikan perbaikan yang harus dipercepat untuk mencapai lingkungan produksi. `hotfix`Cabang selalu bercabang dari`main`.

Setelah hotfix diuji, Anda dapat mempromosikannya ke produksi melalui permintaan gabungan ke `release` cabang yang dibuat dari. `main` Untuk pengujian, Anda kemudian dapat mendorong `release` cabang ke depan dengan mengikuti proses rilis standar.


|  |  | 
| --- |--- |
| Konvensi penamaan: | `hotfix/<ticket>_<developer initials>_<descriptor>` | 
| Contoh konvensi penamaan: | `hotfix/123456_MS_Fix_Problem_A` | 