

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

# 에서 브랜치 비교 및 병합 AWS CodeCommit
<a name="how-to-compare-branches"></a>

CodeCommit 콘솔을 사용하여 CodeCommit 리포지토리의 브랜치를 비교할 수 있습니다. 브랜치를 비교하면 브랜치와 기본 브랜치 간의 차이 또는 두 브랜치 간의 차이를 빠르게 확인할 수 있습니다.

**Topics**
+ [임의의 브랜치와 기본 브랜치 간의 비교](#how-to-compare-branches-default)
+ [두 특정 브랜치 비교](#how-to-compare-branches-two)
+ [두 브랜치 병합 (AWS CLI)](#how-to-merge-branches-cli)

## 임의의 브랜치와 기본 브랜치 간의 비교
<a name="how-to-compare-branches-default"></a>

CodeCommit 콘솔을 사용하여 리포지토리의 기본 브랜치와 다른 브랜치 간의 차이를 빠르게 확인할 수 있습니다.

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)에서 CodeCommit 콘솔을 엽니다.

1. **리포지토리**에서, 브랜치를 비교하려는 리포지토리의 이름을 선택합니다.

1. 탐색 창에서 **커밋**을 선택한 다음 **커밋 비교** 탭을 선택합니다.

1. **대상 주소**에서 기본 브랜치의 이름을 선택합니다. **소스**에서 기본 브랜치와 비교할 브랜치를 선택합니다. **비교**를 선택합니다.

## 두 특정 브랜치 비교
<a name="how-to-compare-branches-two"></a>

CodeCommit 콘솔을 사용하여 비교할 두 브랜치 간의 차이를 볼 수 있습니다.

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)에서 CodeCommit 콘솔을 엽니다.

1. **리포지토리**에서, 브랜치를 비교하려는 리포지토리의 이름을 선택합니다.

1. 탐색 창에서 **커밋**을 선택한 다음 **커밋 비교** 탭을 선택합니다.

1. **대상 주소**와 **소스**에서 비교할 두 브랜치를 선택한 다음 **비교**를 선택합니다. 구성된 파일 목록을 보려면 변경된 파일 목록을 확장합니다. 변경 내용은 나란히(분할 보기) 또는 일렬(통합 보기)로 표시할 수 있습니다.
**참고**  
IAM 사용자로 로그인한 경우 코드 및 다른 콘솔 설정 보기에 대한 기본 설정을 구성하고 저장할 수 있습니다. 자세한 내용은 [사용자 기본 설정으로 작업](user-preferences.md) 단원을 참조하십시오.  
![\[두 브랜치 간 차이점 약식 보기\]](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-compare-branches.png)

## 두 브랜치 병합 (AWS CLI)
<a name="how-to-merge-branches-cli"></a>

다음 명령 중 하나를 실행하여 사용 가능한 병합 전략 중 하나를 AWS CLI 사용하여 CodeCommit 리포지토리의 두 브랜치를 병합할 수 있습니다.
+ 패스트 포워드 병합 전략을 사용하여 두 브랜치를 병합하려면 [**merge-branches-by-fast-forward**](#merge-branches-by-fast-forward) 명령을 실행합니다.
+ 스쿼시 병합 전략을 사용하여 두 브랜치를 병합하려면 [**merge-branches-by-squash**](#merge-branches-by-squash) 명령을 실행합니다.
+ 3방향 병합 전략을 사용하여 두 브랜치를 병합하려면 [**merge-branches-by-three-way**](#merge-branches-by-three-way) 명령을 실행합니다.

**create-unreferenced-merge-commit** 명령을 실행하여 병합을 테스트할 수도 있습니다. 자세한 내용은 [풀 요청의 충돌 해결](how-to-resolve-conflict-pull-request.md#create-unreferenced-merge-commit)을 참조하세요.

**참고**  
CodeCommit에서 AWS CLI 명령을 사용하려면를 설치합니다 AWS CLI. 자세한 내용은 [명령줄 참조](cmd-ref.md) 단원을 참조하십시오.

**AWS CLI 를 사용하여 CodeCommit 리포지토리에서 두 개의 브랜치를 병합하려면**

1. <a name="merge-branches-by-fast-forward"></a>패스트 포워드 병합 전략을 사용하여 두 브랜치를 병합하려면 **merge-branches-by-fast-forward** 명령을 실행하고 다음을 지정합니다.
   + 병합할 변경 사항을 포함하는 소스 브랜치의 이름(**--source-commit-specifier** 옵션 사용).
   + 변경 사항을 병합할 대상 브랜치의 이름(**--destination-commit-specifier** 옵션 사용).
   + 리포지토리의 이름(**--repository-name** 옵션 사용).

    예를 들어, *bugfix-1234*라는 소스 브랜치를 *MyDemoRepo*라는 리포지토리의 *preprod*라는 대상 브랜치로 통합하려면 다음과 같이 합니다.

   ```
   aws codecommit merge-branches-by-fast-forward --source-commit-specifier bugfix-bug1234 --destination-commit-specifier preprod --repository-name MyDemoRepo
   ```

   이 명령이 제대로 실행되면 다음과 비슷하게 출력됩니다.

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-squash"></a>스쿼시 병합 전략을 사용하여 두 브랜치를 병합하려면 **merge-branches-by-squash** 명령을 실행하고 다음을 지정합니다.
   + 병합할 변경 사항을 포함하는 소스 브랜치의 이름(**--source-commit-specifier** 옵션 사용).
   + 변경 사항을 병합할 대상 브랜치의 이름(**--destination-commit-specifier** 옵션 사용).
   + 리포지토리의 이름(**--repository-name** 옵션 사용).
   + 포함시킬 커밋 메시지(**--commit-message** 옵션 사용).
   + 커밋에 사용할 이름(**--name** 옵션 사용).
   + 커밋에 사용할 이메일 주소(**--email** 옵션 사용).

   예를 들어, *bugfix-bug1234*라는 소스 브랜치를 *MyDemoRepo*라는 리포지토리의 *bugfix-quarterly*라는 대상 브랜치로 통합하려면 다음과 같이 합니다.

   ```
   aws codecommit merge-branches-by-squash --source-commit-specifier bugfix-bug1234 --destination-commit-specifier bugfix-quarterly --author-name "Maria Garcia" --email "maria_garcia@example.com" --commit-message "Merging in fix branches to prepare for a general patch." --repository-name MyDemoRepo
   ```

   이 명령이 제대로 실행되면 다음과 비슷하게 출력됩니다.

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```

1. <a name="merge-branches-by-three-way"></a>3방향 병합 전략을 사용하여 두 브랜치를 병합하려면 **merge-branches-by-three-way** 명령을 실행하고 다음을 지정합니다.
   + 병합할 변경 사항을 포함하는 소스 브랜치의 이름(**--source-commit-specifier** 옵션 사용).
   + 변경 사항을 병합할 대상 브랜치의 이름(**--destination-commit-specifier** 옵션 사용).
   + 리포지토리의 이름(**--repository-name** 옵션 사용).
   + 포함시킬 커밋 메시지(**--commit-message** 옵션 사용).
   + 커밋에 사용할 이름(**--name** 옵션 사용).
   + 커밋에 사용할 이메일 주소(**--email** 옵션 사용).

   예를 들어, *main*이라는 소스 브랜치를 *MyDemoRepo*라는 리포지토리의 *bugfix-1234*라는 대상 브랜치와 통합하려면 다음과 같이 합니다.

   ```
   aws codecommit merge-branches-by-three-way --source-commit-specifier main --destination-commit-specifier bugfix-bug1234 --author-name "Jorge Souza" --email "jorge_souza@example.com" --commit-message "Merging changes from main to bugfix branch before additional testing."  --repository-name MyDemoRepo
   ```

   이 명령이 제대로 실행되면 다음과 비슷하게 출력됩니다.

   ```
   {
       "commitId": "4f178133EXAMPLE",
       "treeId": "389765daEXAMPLE"
   }
   ```