

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

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

# 프라이빗 리포지토리 개념
<a name="source-concepts"></a>

다음은 CodeCatalyst 소스 리포지토리를 사용할 때 알아야 할 몇 가지 개념입니다.

**Topics**
+ [Projects](#project-concept)
+ [소스 리포지토리](#source-repository-concept)
+ [개발 환경](#devenvironment-concept)
+ [개인 액세스 토큰(PAT)](#personal-access-token-concept)
+ [브랜치](#branches-concept)
+ [기본 브랜치](#default-branch-concept)
+ [커밋](#commits-concept)
+ [풀 요청](#pull-request-concept)
+ [개정](#revision-concept)
+ [워크플로](#workflow-concept)

## Projects
<a name="project-concept"></a>

*프로젝트*는 개발 팀과 작업을 지원하는 CodeCatalyst의 협업 스페이스입니다. 프로젝트를 만든 후에는 사용자와 리소스를 추가, 업데이트 또는 제거하고, 프로젝트 대시보드를 사용자 지정하고, 팀의 작업 진행 상황을 모니터링할 수 있습니다. 스페이스 내에 여러 프로젝트를 포함할 수 있습니다.

소스 리포지토리는 스페이스에서 생성하거나 연결하는 프로젝트에만 해당됩니다. 프로젝트 간에 리포지토리를 공유할 수 없으며 리포지토리를 한 스페이스의 둘 이상의 프로젝트에 연결할 수 없습니다. 프로젝트에서 **기여자** 또는 **프로젝트 관리자** 역할을 가진 사용자는 해당 역할에 부여된 권한에 따라 해당 프로젝트와 연결된 소스 리포지토리와 상호 작용할 수 있습니다. 자세한 내용은 [사용자 역할로 액세스 권한 부여](ipa-roles.md) 섹션을 참조하세요.

## 소스 리포지토리
<a name="source-repository-concept"></a>

*소스 리포지토리*는 프로젝트에 대한 코드 및 파일을 안전하게 저장합니다. 또한 파일의 버전 기록도 저장합니다. 기본적으로 소스 리포지토리는 CodeCatalyst 프로젝트의 다른 사용자와 공유됩니다. 프로젝트에 대한 소스 리포지토리가 두 개 이상 있을 수 있습니다. CodeCatalyst의 프로젝트에 대한 소스 리포지토리를 생성하거나, 설치된 확장 프로그램에서 해당 서비스가 지원되는 경우 다른 서비스에서 호스팅하는 기존 소스 리포지토리를 연결하도록 선택할 수 있습니다. 예를 들어 GitHub 리포지토리 확장 프로그램을 설치한 후 **GitHub 리포지토리**를 프로젝트에 연결할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 프로젝트의 리포지토리에 소스 코드 저장](source-repositories.md) 및 [빠른 시작: CodeCatalyst에서 확장 프로그램 설치, 공급자 연결 및 리소스 연결](extensions-quickstart.md) 섹션을 참조하세요.

## 개발 환경
<a name="devenvironment-concept"></a>

*개발 환경*은 프로젝트의 소스 리포지토리에 저장된 코드를 빠르게 작업하기 위해 CodeCatalyst에서 사용할 수 있는 클라우드 기반 개발 환경입니다. 개발 환경에 포함된 프로젝트 도구 및 애플리케이션 라이브러리는 프로젝트의 소스 리포지토리에 있는 devfile로 정의됩니다. 소스 리포지토리에 devfile이 없는 경우 기본 devfile이 자동으로 적용됩니다. 기본 devfile에는 가장 자주 사용되는 프로그래밍 언어 및 프레임워크를 위한 도구가 포함되어 있습니다. 기본적으로 개발 환경은 2코어 프로세서, 4GB RAM, 16GiB 영구 저장소를 갖도록 구성됩니다.

소스 리포지토리의 기존 브랜치를 개발 환경으로 복제하거나 개발 환경 생성의 일부로 새 브랜치를 만들도록 선택할 수 있습니다.

## 개인 액세스 토큰(PAT)
<a name="personal-access-token-concept"></a>

*개인 액세스 토큰*(PAT)은 암호와 유사합니다. CodeCatalyst의 모든 스페이스와 프로젝트에서 사용할 수 있도록 사용자 ID와 연결됩니다. PAT를 사용하여 통합 개발 환경(IDE) 및 Git 기반 소스 리포지토리가 포함된 CodeCatalyst 리소스에 액세스합니다. PAT는 CodeCatalyst에서 사용자를 나타내며 사용자 설정에서 이를 관리할 수 있습니다. 사용자는 둘 이상의 PAT를 가질 수 있습니다. 개인 액세스 토큰은 한 번만 표시됩니다. 가장 좋은 방법은 로컬 컴퓨터에 안전하게 저장하는 것입니다. 기본적으로 PAT는 1년 후에 만료됩니다.

통합 개발 환경(IDE)으로 작업할 때 PAT는 Git 암호와 동일합니다. Git 리포지토리와 함께 작동하도록 IDE를 설정할 때 암호를 요청하면 PAT를 제공합니다. IDE를 Git 기반 리포지토리에 연결하는 방법에 대한 자세한 내용은 IDE 설명서를 참조하세요.

## 브랜치
<a name="branches-concept"></a>

*브랜치*는 Git 및 CodeCatalyst의 커밋에 대한 포인터 또는 참조입니다. 브랜치를 사용하여 작업을 구성할 수 있습니다. 예를 들어 브랜치를 사용하여 다른 브랜치에 있는 파일에 영향을 주지 않고 새 파일 또는 다른 버전의 파일에서 작업할 수 있습니다. 브랜치를 사용하면 새 기능을 개발하고 프로젝트 버전을 저장하는 등의 작업을 수행할 수 있습니다. 소스 리포지토리에는 브랜치가 하나 이상 있을 수 있습니다. 템플릿을 사용하여 프로젝트를 생성할 때 프로젝트에 대해 생성된 소스 리포지토리에는 **main**이라는 브랜치의 샘플 파일이 포함됩니다. **main** 브랜치는 리포지토리의 기본 브랜치입니다.

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

CodeCatalyst의 소스 리포지토리에는 생성 방식에 관계없이 기본 브랜치가 있습니다. 템플릿을 사용하여 프로젝트를 생성하도록 선택하면 해당 프로젝트에 대해 생성된 소스 리포지토리에는 샘플 코드, 워크플로 정의 및 기타 리소스 외에도 README.md 파일이 포함됩니다. 템플릿을 사용하지 않고 소스 리포지토리를 생성하는 경우 README.md 파일이 첫 번째 커밋으로 추가되고 리포지토리 생성의 일부로 기본 브랜치가 생성됩니다. 이 기본 브랜치의 이름은 *기본*입니다. 이 기본 브랜치는 사용자가 리포지토리를 복제할 때 로컬 리포지토리에서 기본 브랜치로 사용될 브랜치입니다. 기본 브랜치로 사용되는 브랜치를 변경할 수 있습니다. 자세한 내용은 [리포지토리의 기본 브랜치 관리](source-branches-default-branch.md) 섹션을 참조하세요.

소스 리포지토리의 기본 브랜치는 삭제할 수 없습니다. 검색 결과에는 기본 브랜치의 결과만 포함됩니다.

## 커밋
<a name="commits-concept"></a>

*커밋*은 파일 또는 파일 집합의 변경입니다. Amazon CodeCatalyst 콘솔에서 커밋은 변경 사항을 저장하고 소스 리포지토리로 푸시합니다. 커밋에는 변경한 사용자의 ID, 변경 시간 및 날짜, 커밋 제목, 변경에 포함된 모든 메시지를 포함한 변경에 대한 정보가 포함됩니다. 자세한 내용은 [Amazon CodeCatalyst에서 커밋을 사용한 소스 코드 변경 사항 이해](source-commits.md) 섹션을 참조하세요.

CodeCatalyst의 소스 리포지토리 맥락에서 커밋은 콘텐츠의 스냅샷과 리포지토리의 콘텐츠에 대한 변경 사항입니다. 특정 커밋을 식별하는 데 도움이 되도록 커밋에 Git 태그를 추가할 수도 있습니다.

## 풀 요청
<a name="pull-request-concept"></a>

*풀 요청*은 사용자와 다른 사용자가 소스 리포지토리에서 한 브랜치에서 다른 브랜치로 코드 변경 사항을 검토하고, 설명하고, 병합하는 주요 방법입니다. 풀 요청을 사용하여 중요하지 않은 변경 내용이나 수정 사항, 중요 기능 추가 또는 릴리스된 소프트웨어의 새 버전에 대한 코드 변경 내용을 공동으로 검토할 수 있습니다. 풀 요청에서 소스 브랜치와 대상 브랜치 간의 변경 사항 또는 해당 브랜치의 개정 간의 차이점을 검토할 수 있습니다. 개별 코드 변경 행에 주석을 추가하고 풀 요청 전체에 대한 주석을 추가할 수 있습니다.

**작은 정보**  
풀 요청을 생성하는 동안 나타나는 차이는 소스 브랜치의 최신 커밋과 대상 브랜치의 최신 커밋의 차이입니다. 풀 요청이 생성되면, 표시된 차이는 선택한 풀 요청의 수정본과 풀 요청을 생성할 때 대상 브랜치의 가장 최신 커밋 간에 발생합니다. Git의 차이점 및 병합 기반에 대한 자세한 내용은 Git 설명서의 [git-merge-base](https://git-scm.com/docs/git-merge-base)를 참조하세요.

## 개정
<a name="revision-concept"></a>

*개정*은 풀 요청의 업데이트된 버전입니다. 풀 요청의 소스 브랜치로 푸시할 때마다 해당 푸시에 포함된 커밋에 적용된 변경 사항이 포함된 개정이 생성됩니다. 소스 브랜치와 대상 브랜치의 차이점 외에도 풀 요청의 개정 간의 차이점을 볼 수 있습니다. 자세한 내용은 [Amazon CodeCatalyst에서 풀 요청을 사용하여 코드 검토](source-pull-requests.md) 섹션을 참조하세요.

## 워크플로
<a name="workflow-concept"></a>

*워크플로*는 지속적 통합 및 지속적 전송(CI/CD) 시스템의 일부로 코드를 빌드, 테스트 및 배포하는 방법을 설명하는 자동화된 절차입니다. 워크플로는 워크플로 실행 중에 수행할 일련의 단계 또는 *작업*을 정의합니다. 또한 워크플로는 워크플로를 시작하게 하는 이벤트 또는 *트리거*를 정의합니다. 워크플로를 설정하려면 CodeCatalyst 콘솔의 [시각적 또는 YAML 편집기](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)를 사용하여 *워크플로 정의 파일*을 생성합니다.

**작은 정보**  
프로젝트에서 워크플로를 사용하는 방법을 간략하게 알아보려면 [블루프린트가 있는 프로젝트를 생성](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)합니다. 각 블루프린트는 검토, 실행 및 실험할 수 있는 기능 워크플로를 배포합니다.

소스 리포지토리는 프로젝트의 워크플로, 알림, 문제 및 기타 구성 정보에 대한 구성 파일 및 기타 정보를 저장할 수도 있습니다. 구성 파일이 필요한 리소스를 생성하거나 리포지토리를 워크플로의 소스 작업으로 지정할 때 구성 파일이 생성되어 소스 리포지토리에 저장됩니다. 블루프린트에서 프로젝트를 생성하는 경우 프로젝트의 일부로 생성된 소스 리포지토리에 구성 파일이 이미 저장됩니다. 이 구성 정보는 리포지토리의 기본 브랜치에 있는 `.codecatalyst` 폴더에 저장됩니다. 기본 브랜치의 브랜치를 생성할 때마다 해당 브랜치의 다른 모든 파일 및 폴더 외에도 이 폴더 및 해당 구성의 사본을 생성합니다.