

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 트렁크 전략의 브랜치
<a name="branches-in-a-trunk-strategy"></a>

트렁크 분기 전략에는 일반적으로 다음과 같은 분기가 있습니다.



![Trunk 분기 전략의 브랜치 및 환경입니다.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/choosing-git-branch-approach/images/trunk-branching-strategy.png)


## 기능 브랜치
<a name="feature-branch"></a>

`feature` 브랜치에서 기능을 개발하거나 핫픽스를 생성합니다. `feature` 브랜치를 생성하려면 브랜치에서 브`main`랜치합니다. 개발자는 `feature`브랜치에서 코드를 반복, 커밋 및 테스트합니다. 기능이 완료되면 개발자는 해당 기능을 승격합니다. `feature` 브랜치에서 전달되는 경로는 두 개뿐입니다.
+ `sandbox` 브랜치에 병합
+ `main` 브랜치에 병합 요청 생성


|  |  | 
| --- |--- |
| 명명 규칙: | `feature/<story number>_<developer initials>_<descriptor>` | 
| 명명 규칙 예제: | `feature/123456_MS_Implement_Feature_A` | 

## 샌드박스 브랜치
<a name="sandbox-branch"></a>

이 브랜치는 비표준 트렁크 브랜치이지만 CI/CD 파이프라인 개발에 유용합니다. `sandbox` 브랜치는 주로 다음과 같은 목적으로 사용됩니다.
+ CI/CD 파이프라인을 사용하여 샌드박스 환경에 대한 전체 배포 수행
+ 개발 또는 테스트와 같은 낮은 환경에서 전체 테스트를 위한 병합 요청을 제출하기 전에 파이프라인을 개발하고 테스트합니다.

`Sandbox` 브랜치는 본질적으로 일시적이며 수명이 짧습니다. 특정 테스트가 완료된 후 삭제해야 합니다.


|  |  | 
| --- |--- |
| 명명 규칙: | `sandbox/<story number>_<developer initials>_<descriptor>` | 
| 명명 규칙 예제: | `sandbox/123456_MS_Test_Pipeline_Deploy` | 

## 기본 브랜치
<a name="main-branch"></a>

`main` 브랜치는 항상 프로덕션에서 실행 중인 코드를 나타냅니다. 코드는에서 분기되어 `main`개발되었다가 다시에 병합됩니다`main`. 의 배포는 모든 환경을 대상으로 할 `main` 수 있습니다. 삭제를 방지하려면 브랜치에 대해 `main`브랜치 보호를 활성화합니다.


|  |  | 
| --- |--- |
| 명명 규칙: | `main` | 

## 핫픽스 브랜치
<a name="hotfix-branch"></a>

트렁크 기반 워크플로에는 전용 `hotfix`브랜치가 없습니다. 핫픽스는 브`feature`랜치를 사용합니다.