Git 및 AWS CodeCommit 시작하기 - AWS CodeCommit

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

Git 및 AWS CodeCommit 시작하기

Git과 CodeCommit을 처음 사용한다면 이 자습서에서 몇 가지 간단한 명령을 배워 시작할 수 있습니다. 이미 Git에 익숙한 경우 이 자습서를 건너뛰고 CodeCommit 시작하기 로 이동할 수 있습니다.

이 자습서에서는 CodeCommit 리포지토리의 로컬 사본에 해당하는 리포지토리를 생성합니다. 이를 로컬 지포지토리라고 부릅니다.

먼저 로컬 리포지토리를 만든 후에 몇 가지를 변경합니다. 그런 다음 변경 사항을 CodeCommit 리포지토리로 전송(푸시)합니다.

또한 두 사용자가 독립적으로 변경 사항을 로컬 리포지토리에 커밋하고 CodeCommit 리포지토리에 푸시하는 팀 환경을 시뮬레이션합니다. 그런 다음 각 사용자는 다른 사용자의 변경 사항을 보기 위해 해당 변경 사항을 CodeCommit 리포지토리에서 로컬 리포지토리로 풀합니다.

또한 CodeCommit 리포지토리에서 브랜치와 태그를 생성하고 몇 가지 액세스 권한도 관리합니다.

이 자습서를 완료한 후에는 Git과 CodeCommit에 관한 핵심 개념을 자신의 프로젝트에서 활용할 수 있도록 충분한 연습을 해야 합니다.

다음을 포함하여 사전 필수 및 설정을 완료합니다.

  • IAM 사용자에게 권한을 할당합니다.

  • CodeCommit이 임의의 리포지토리에 연결되도록 설정합니다. 이때 HTTPS나 SSH 또는 git-remote-codecommit을 활용합니다. 어떤 것을 활용할지에 대해서는 AWS CodeCommit에 대한 설정 단원을 참조하세요.

  • 리포지토리 생성을 비롯한 모든 작업에 대해 명령줄 또는 터미널을 사용하려는 경우 AWS CLI를 구성합니다.

1단계: CodeCommit 리포지토리 생성

이 단계에서는 CodeCommit 콘솔을 사용하여 리포지토리를 생성합니다.

사용할 CodeCommit 리포지토리가 이미 있으면 이 단계를 건너뛸 수 있습니다.

참고

사용량에 따라, 리포지토리를 생성하거나 액세스하는 것에 대한 비용이 부과될 수 있습니다. 자세한 내용은 CodeCommit 제품 정보 페이지에서 요금을 참조하세요.

CodeCommit 리포지토리를 만들려면
  1. https://console.aws.amazon.com/codesuite/codecommit/home에서 CodeCommit 콘솔을 엽니다.

  2. 리전 선택기를 사용하여 리포지토리를 생성할 AWS 리전을 선택합니다. 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요.

  3. 리포지토리 페이지에서 리포지토리 생성을 선택합니다.

  4. 리포지토리 생성 페이지에서 리포지토리 이름에 해당 리포지토리의 이름(예: MyDemoRepo)을 입력합니다.

    참고

    리포지토리 이름은 대/소문자를 구분하며 100자를 초과할 수 없습니다. 자세한 내용은 제한을 참조하세요.

  5. (선택 사항) 설명 란에 설명 내용을 입력합니다(예: My demonstration repository). 그러면 사용자들이 리포지토리의 용도를 식별하는 데 도움이 됩니다.

  6. (선택 사항) 태그 추가를 선택하여 하나 이상의 리포지토리 태그(AWS 리소스를 구성하고 관리하는 것을 도와주는 사용자 지정 속성 레이블)를 리포지토리에 추가합니다. 자세한 내용은 AWS CodeCommit의 리포지토리 태그 지정 섹션을 참조하세요.

  7. (선택 사항) 추가 구성을 확장하여 이 리포지토리의 해당 데이터를 암호화하고 복호화하는 데 기본 AWS 관리형 키를 사용할지 또는 자체 고객 관리형 키를 사용할지 지정합니다. 자체 고객 관리형 키를 사용하기로 선택한 경우, 리포지토리를 만드는 AWS 리전에서 해당 키를 사용할 수 있는지 그리고 해당 키가 활성 상태인지 확인해야 합니다. 자세한 내용은 AWS CodeCommit 리포지토리에 대한 AWS Key Management Service 및 암호화 섹션을 참조하세요.

  8. (선택 사항) 이 리포지토리에 Java나 Python 코드가 들어갈 예정이고 CodeGuru Reviewer로 해당 코드를 분석하려 한다면, Java 및 Python용 Amazon CodeGuru Reviewer 활성화를 선택합니다. CodeGuru Reviewer는 다양한 기계 학습 모델을 사용하여 풀 요청의 코드 결함을 찾아내고 개선점과 해결책을 자동으로 제안합니다. 자세한 내용은 Amazon CodeGuru Reviewer 사용자 안내서를 참조하세요.

  9. 생성을 선택합니다.

참고

이 자습서의 나머지 단계에서는 CodeCommit 리포지토리의 이름으로 MyDemoRepo를 사용합니다. 다른 이름을 선택하는 경우 이 자습서 전체에서 이를 사용해야 합니다.

터미널 또는 명령줄에서 리포지토리를 생성하는 방법을 포함하여 리포지토리를 생성하는 데 대한 자세한 내용은 리포지토리 생성를 참조하십시오.

2단계: 로컬 리포지토리 생성

이 단계에서는 로컬 컴퓨터에서 로컬 리포지토리를 설정하여 리포지토리에 연결합니다. 이렇게 하려면 로컬 리포지토리를 나타내는 로컬 컴퓨터에서 디렉터리를 선택합니다. Git을 활용해 해당 디렉터리 내에 빈 CodeCommit 리포지토리의 사본을 복제하고 초기화합니다. 그런 다음 커밋에 주석을 다는 데 사용하는 Git 사용자명과 이메일 주소를 지정합니다.

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

  2. 리전 선택기에서, 해당 리포지토리를 생성한 AWS 리전을 선택합니다. 각 리포지토리는 하나의 AWS 리전에 국한됩니다. 자세한 내용은 리전 및 Git 연결 엔드포인트 섹션을 참조하세요.

  3. 목록에서 연결하려는 리포지토리를 찾아서 선택합니다. URL 복제를 선택한 다음 리포지토리를 복제하거나 연결할 때 사용할 프로토콜을 선택합니다. 이것으로 복제 URL가 복사됩니다.

    • IAM 사용자를 통한 Git 보안 인증 정보를 활용하거나 AWS CLI에 포함된 보안 인증 도우미를 사용하는 경우 HTTPS URL을 복사합니다.

    • 로컬 컴퓨터에서 git-remote-codecommit 명령을 사용하는 경우 HTTPS(GRC) URL을 복사합니다.

    • IAM 사용자와 SSH 퍼블릭/프라이빗 키 페어를 사용하는 경우 SSH URL을 복사합니다.

    참고

    리포지토리 목록 대신 시작 페이지가 표시될 경우, 사용자가 로그인한 AWS 리전에 사용자의 AWS 계정과 연결된 리포지토리가 없는 것입니다. 리포지토리를 만들려면 AWS CodeCommit 리포지토리 생성을(를) 참조하거나 Git 및 CodeCommit 시작하기 자습서의 다음 단계를 따르세요.

  4. (선택 사항) 로컬 Git 클라이언트는 리포지토리의 기본 브랜치에 main이라는 이름을 쓰도록 구성하는 것이 좋습니다. 이 이름은 본 가이드에서 모든 예제의 기본 브랜치에 사용됩니다. 또한 콘솔에서 첫 커밋을 만들 때 CodeCommit이 사용하는 기본 브랜치에도 똑같이 쓰입니다. 다음 명령을 실행하여 시스템의 기본 브랜치 이름을 전역으로 구성합니다.

    git config --global init.defaultBranch main

    만약 모든 리포지토리의 기본 브랜치 이름을 전부 다르게 사용하고 싶다면 main을 원하는 이름으로 변경합니다. 본 자습서에서는 기본 브랜치의 이름을 main으로 가정합니다.

    리포지토리별로 기본 브랜치 이름을 다르게 사용하려면 이 속성을 글로벌(--global)이 아닌 로컬(--local)로 설정하면 됩니다.

  5. 터미널 또는 명령 프롬프트에서, git clone 명령으로 리포지토리를 복제하고 3단계에서 복사한 복제 URL을 입력합니다. 복제 URL은 사용하는 프로토콜 및 구성에 따라 결정됩니다. 예를 들어, 미국 동부(오하이오) 리전에서 Git 보안 인증 정보와 함께 HTTPS를 사용하여 MyDemorepo라는 리포지토리를 복제하려는 경우는 다음과 같습니다.

    git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    git-remote-codecommit와 함께 HTTPS를 사용하는 경우는 다음과 같습니다.

    git clone codecommit://MyDemoRepo my-demo-repo

    SSH를 사용 중인 경우는 다음과 같습니다.

    git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
    참고

    리포지토리를 복제하려고 할 때 오류가 표시되면 로컬 컴퓨터에 필요한 설정을 완료하지 않았을 수 있습니다. 자세한 내용은 AWS CodeCommit에 대한 설정 섹션을 참조하세요.

3단계: 첫 커밋 생성

이 단계에서는 로컬 리포지토리에 첫 커밋을 생성합니다. 이를 위해 로컬 리포지토리에 예제 파일을 2개 생성합니다. Git을 사용하여 로컬 리포지토리에서 변경 사항을 준비하고, 로컬 리포지토리에 해당 변경 사항을 커밋합니다.

  1. 텍스트 편집기를 사용하여 디렉터리에 다음과 같은 예제 텍스트 파일을 2개 생성합니다. cat.txtdog.txt 파일의 이름 지정:

    cat.txt ------- The domestic cat (Felis catus or Felis silvestris catus) is a small, usually furry, domesticated, and carnivorous mammal.

    dog.txt ------- The domestic dog (Canis lupus familiaris) is a canid that is known as man's best friend.
  2. git config를 실행하여 자리 표시자 your-user-nameyour-email-address로 나타내는 사용자 이름 및 이메일 주소를 로컬 리포지토리에 추가합니다. 이렇게 하면 커밋을 쉽게 식별할 수 있습니다.

    git config --local user.name "your-user-name" git config --local user.email your-email-address
  3. 로컬 리포지토리를 생성할 때 기본 브랜치 이름을 전역으로 설정하지 않은 경우, 다음 명령을 실행하여 기본 브랜치 이름을 main으로 설정합니다.

    git config --local init.defaultBranch main
  4. git add를 실행하여 변경 내용을 준비합니다.

    git add cat.txt dog.txt
  5. git commit를 실행하여 변경 내용을 커밋합니다.

    git commit -m "Added cat.txt and dog.txt"
    작은 정보

    생성한 커밋의 세부 정보를 보려면 git log를 실행합니다.

4단계: 첫 커밋 푸시

이 단계에서는 커밋을 로컬 리포지토리에서 CodeCommit 리포지토리로 푸시합니다.

git push를 실행하여, Git이 CodeCommit 리포지토리에 사용하는 기본 원격 이름(origin)을 통해 로컬 리포지토리의 기본 브랜치(main)에서 커밋을 푸시합니다.

git push -u origin main
작은 정보

CodeCommit 리포지토리에 파일을 푸시하고 나면, CodeCommit 콘솔을 사용하여 해당 콘텐츠를 볼 수 있습니다. 자세한 내용은 리포지토리에서 파일 검색 섹션을 참조하세요.

5단계: CodeCommit 리포지토리를 공유하고 또 다른 커밋을 푸시 및 풀하기

이 단계에서는 팀원 한 명과 함께 CodeCommit 리포지토리에 대한 정보를 공유합니다. 팀원은 이 정보를 사용하여 로컬 사본을 생성하고 몇 가지 사항을 변경하며 수정된 로컬 사본을 CodeCommit 리포지토리에 푸시합니다. 그런 다음 CodeCommit 리포지토리에서 로컬 리포지토리로 변경 사항을 풀합니다.

이 자습서에서는 2단계에서 생성한 것과는 별개인 디렉터리를 생성하는 Git로 사용자 따르기를 시뮬레이션합니다. (일반적으로 이 디렉터리는 다른 시스템에 있습니다.) 이 새 디렉터리는 CodeCommit 리포지토리의 복사본입니다. 기존 디렉터리나 이 새 디렉터리에 대한 변경 사항은 모두 독립적으로 이루어집니다. 이 디렉터리에 대한 변경 사항을 식별하는 유일한 방법은 CodeCommit 리포지토리에서 풀하는 것입니다.

동일한 로컬 시스템에 있다고 해도 기존 디렉터리 local repo 및 새 디렉터리 shared repo를 호출합니다.

새 디렉터리에서 CodeCommit 리포지토리의 사본을 별도로 하나 만듭니다. 그런 다음 새 예제 파일을 추가하고, 공유 리포지토리에 변경 내용을 커밋하며, 공유 리포지토리의 커밋을 CodeCommit 리포지토리로 푸시합니다.

마지막으로 리포지토리의 변경 내용을 로컬 리포지토리로 풀하고 다른 사용자가 커밋한 변경 내용을 볼 수 있도록 살펴봅니다.

  1. /tmp 디렉터리 또는 c:\temp 디렉터리로 전환합니다.

  2. git clone을 실행하여 리포지토리 사본을 공유 리포지토리로 풀다운합니다.

    HTTPS의 경우에는 다음과 같이 합니다.

    git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo

    git-remote-codecommit를 사용하는 HTTPS의 경우:

    git clone codecommit://MyDemoRepo shared-demo-repo

    SSH의 경우에는 다음과 같이 합니다.

    git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo shared-demo-repo
    참고

    Windows 운영 체제에서 SSH를 사용하여 리포지토리를 복제할 경우 다음과 같이 SSH 키 ID를 연결 문자열에 추가해야 할 수 있습니다.

    git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

    자세한 내용은 Windows에서 SSH 연결 섹션을 참조하세요.

    이 명령에서 MyDemoRepo는 CodeCommit 리포지토리의 이름입니다. shared-demo-repo/tmp 디렉터리 또는 c:\temp 디렉터리에서 Git이 생성하는 디렉터리의 이름입니다. Git에서 디렉터리가 생성된 후에는 리포지토리의 복사본이 shared-demo-repo 디렉터리로 풀다운됩니다.

  3. shared-demo-repo 디렉터리로 전환합니다.

    (For Linux, macOS, or Unix) cd /tmp/shared-demo-repo (For Windows) cd c:\temp\shared-demo-repo
  4. git config를 실행하여 자리 표시자 other-user-nameother-email-address로 나타내는 다른 사용자 이름 및 이메일 주소를 추가합니다. 이렇게 하면 다른 사용자의 커밋을 쉽게 식별할 수 있습니다.

    git config --local user.name "other-user-name" git config --local user.email other-email-address
  5. 텍스트 편집기를 사용하여 다음 예제 텍스트 파일을 shared-demo-repo에서 생성합니다. horse.txt 파일의 이름을 지정합니다.

    horse.txt ------- The horse (Equus ferus caballus) is one of two extant subspecies of Equus ferus.
  6. git add를 실행하여 공유 리포지토리로 변경 내용을 준비합니다.

    git add horse.txt
  7. git commit를 실행하여 공유 리포지토리로 변경 내용을 커밋합니다.

    git commit -m "Added horse.txt"
  8. git push를 실행하여, Git이 CodeCommit 리포지토리에 사용하는 기본 원격 이름(origin)을 통해 로컬 리포지토리의 기본 브랜치(main)에서 초기 커밋을 푸시합니다.

    git push -u origin main
  9. 로컬 리포지토리로 전환하고 git pull을 실행하여, 공유 리포지토리가 CodeCommit 리포지토리에 만든 커밋을 로컬 리포지토리로 풀합니다. 그런 다음 git log를 실행하여 공유 리포지토리에서 초기화된 커밋을 확인합니다.

6단계: 브랜치 생성 및 공유

이 단계에서는 로컬 리포지토리에서 브랜치를 생성하고, 몇 가지 사항을 변경한 다음, 이 브랜치를 CodeCommit 리포지토리로 푸시합니다. 그런 다음 CodeCommit 리포지토리에서 공유 리포지토리에 브랜치를 풀합니다.

브랜치를 사용하면 서로 다른 버전의 리포지토리 콘텐츠를 독립적으로 개발할 수 있습니다(예를 들어, 팀원 작업에 영향을 주지 않고 새 소프트웨어 기능으로 작업할 수 있음). 이 기능이 안정화되면 브랜치를 더욱 안정화된 소프트웨어 브랜치로 병합합니다.

Git을 사용하여 브랜치를 생성하고 만들어 놓은 첫 커밋을 가리키도록 합니다. Git을 사용하여 브랜치를 CodeCommit 리포지토리로 푸시합니다. 그런 다음 공유 리포지토리로 전환하고 Git을 사용하여 새 브랜치를 공유 로컬 리포지토리로 풀하고 해당 브랜치를 탐색합니다.

  1. 로컬 리포지토리에서 git checkout을 실행하고, 브랜치의 이름(예: MyNewBranch)과 로컬 리포지토리에서 만든 첫 커밋의 ID를 지정합니다.

    커밋 ID를 모르면 git log를 실행하여 확인합니다. 커밋에 다른 사용자의 사용자 이름과 이메일 주소가 아닌 본인의 사용자 이름과 이메일 주소가 있는지 확인합니다. 이렇게 하여 main이 CodeCommit 리포지토리의 안정화 버전인지, 그리고 MyNewBranch 브랜치가 새롭지만 상대적으로 안정화되지 않은 기능인지 시뮬레이션할 수 있습니다.

    git checkout -b MyNewBranch commit-ID
  2. git push를 실행하여 로컬 리포지토리에서 CodeCommit 리포지토리로 새 브랜치를 전송합니다.

    git push origin MyNewBranch
  3. 이제 브랜치를 공유 리포지토리로 풀하고 결과를 확인합니다.

    1. 공유 리포지토리 디렉터리(shared-demo-repo)로 전환합니다.

    2. 새 브랜치(git fetch origin)를 풀합니다.

    3. 새 브랜치(git branch --all은 리포지토리에 대한 모든 브랜치 목록을 표시함)를 풀했는지 확인합니다.

    4. 새로운 브랜치(git checkout MyNewBranch)로 전환합니다.

    5. git status 또는 git branch를 실행하여 MyNewBranch 브랜치로 전환했는지 확인합니다. 현재 위치한 브랜치가 결과에 표시됩니다. 이 경우 MyNewBranch가 되어야 합니다.

    6. 브랜치(git log)에서 커밋 목록을 확인합니다.

    호출할 Git 명령 목록은 다음과 같습니다.

    git fetch origin git branch --all git checkout MyNewBranch git branch or git status git log
  4. main 브랜치로 다시 전환하여 커밋 목록을 확인합니다. Git 명령은 다음과 같은 형식이어야 합니다.

    git checkout main git log
  5. 로컬 리포지토리에서 main 브랜치로 전환합니다. git status 또는 git branch를 실행할 수 있습니다. 현재 위치한 브랜치가 결과에 표시됩니다. 이 경우 main가 되어야 합니다. Git 명령은 다음과 같은 형식이어야 합니다.

    git checkout main git branch or git status

7단계: 태그 생성 및 공유

이 단계에서는 로컬 리포지토리에 두 개의 태그를 생성해 커밋과 연결한 다음 CodeCommit 리포지토리로 푸시합니다. 그런 다음 CodeCommit 리포지토리에서 공유 리포지토리로 변경 사항을 풀합니다.

태그는 커밋(또는 분기나 다른 태그)에 사람이 읽을 수 있는 이름을 제공하는 데 사용됩니다. 예를 들어 커밋에 v2.1과 같은 태그를 지정하려면 이렇게 할 수 있습니다. 커밋, 브랜치 또는 태그에 연결할 수 있는 태그 수는 제한이 없지만 개별 태그는 하나의 커밋, 브랜치 또는 태그에만 연결할 수 있습니다. 이 자습서에서는 한 커밋에는 release라는 태그를 지정하고, 다른 커밋에는 beta라는 태그를 지정합니다.

Git을 사용하여 태그를 생성하고 release 태그로 만들었던 첫 커밋을 가리키며, beta 태그로 다른 사용자가 만든 커밋을 가리킵니다. 다음으로 Git을 사용하여 CodeCommit 리포지토리로 태그를 푸시합니다. 다음으로 공유 리포지토리로 전환하고, Git을 사용하여 공유 로컬 리포지토리로 태그를 풀한 다음, 해당 태그를 탐색합니다.

  1. 로컬 리포지토리에서 git tag를 실행하고, 새 태그의 이름(release)과 로컬 리포지토리에서 만든 첫 커밋의 ID를 지정합니다.

    커밋 ID를 모르면 git log를 실행하여 확인합니다. 커밋에 다른 사용자의 사용자 이름과 이메일 주소가 아닌 본인의 사용자 이름과 이메일 주소가 있는지 확인합니다. 이렇게 하여 커밋이 CodeCommit 리포지토리의 안정화 버전인지 시뮬레이션할 수 있습니다.

    git tag release commit-ID

    git tag를 다시 실행하여 beta 태그로 다른 사용자의 커밋에 태그를 지정합니다. 이렇게 커밋이 새롭지만 상대적으로 안정화되지 않은 기능인지 시뮬레이션합니다.

    git tag beta commit-ID
  2. git push --tags를 실행하여 CodeCommit 리포지토리로 태그를 전송합니다.

  3. 이제 태그를 공유 리포지토리로 풀하고 결과를 확인합니다.

    1. 공유 리포지토리 디렉터리(shared-demo-repo)로 전환합니다.

    2. 새 태그(git fetch origin)에서 풀합니다.

    3. 새 태그가 (git tag은 리포지토리에 대한 모든 태그 목록을 표시함)에서 풀했는지 확인합니다.

    4. 각 태그(git log releasegit log beta)에 대한 정보를 확인합니다.

    호출할 Git 명령 목록은 다음과 같습니다.

    git fetch origin git tag git log release git log beta
  4. 이 과정을 로컬 리포지토리에서도 시도합니다.

    git log release git log beta

8단계: 액세스 권한 설정

이 단계에서는 공유 리포지토리를 CodeCommit 리포지토리와 동기화하기 위해 사용자 권한을 제공합니다. 이 단계는 선택 사항입니다. CodeCommit 리포지토리에 대한 액세스를 제어하는 방법을 배우려는 사용자에게 권장합니다. 사용자가 Git 보안 인증 정보를 사용하거나 IAM 사용자가 CodeCommit 리포지토리에 액세스하기 위해 SSH 키 페어를 사용할 때 수행하는 것이 좋습니다.

참고

페더레이션 액세스, 임시 보안 인증 정보, 또는 IAM Identity Center 같은 웹 자격 증명 공급자를 사용하는 경우에는 ID 공급자의 사용자, 액세스. 권한 등을 설정한 다음 git-remote-codecommit을 사용합니다. 자세한 정보는 git-remote-codecommit을 사용하여 AWS CodeCommit에 대한 HTTPS 연결을 위한 설정 단계교체 보안 인증 정보를 사용하여 AWS CodeCommit 리포지토리에 연결 섹션을 참조하세요.

이렇게 하려면 IAM 콘솔을 사용하여 사용자를 생성합니다. 기본적으로 이 사용자에게는 공유 리포지토리를 CodeCommit 리포지토리와 동기화할 수 있는 권한이 없습니다. git pull을 실행하여 이를 확인할 수 있습니다. 새 사용자에게 동기화할 권한이 없는 경우 명령이 실행되지 않습니다. 그러면 IAM 콘솔로 돌아와 사용자가 git pull을 사용할 수 있도록 허용하는 정책을 적용합니다. 다시 git pull을 실행하여 이를 확인할 수 있습니다.

이 단계는 Amazon Web Services 계정에서 IAM 사용자를 생성할 수 있는 권한이 있다는 가정 하에 작성되었습니다. 이 권한이 없으면 이 단계의 절차를 수행할 수 없습니다. 자습서에 사용한 리소스를 정리하려면 9단계: 정리으로 건너뜁니다.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

    설정 에서 사용한 동일한 사용자 이름과 암호로 로그인했는지 확인합니다.

  2. 탐색 창에서 사용자새 사용자 만들기를 차례대로 선택합니다.

  3. 첫 번째 사용자 이름 입력 상자에서 예제 사용자 이름(예: JaneDoe-CodeCommit)을 입력합니다. 각 사용자의 액세스 키 생성 상자를 선택한 후 생성을 선택합니다.

  4. 사용자 보안 인증 정보 표시를 선택합니다. 액세스 키 ID 및 비밀 액세스 키를 기록하거나 보안 인증 정보 다운로드를 선택합니다.

  5. Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우의 지침에 따라 IAM 사용자의 보안 인증 정보를 생성하고 제공합니다.

    SSH를 사용하려면 SSH와 Linux, macOS Unix: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키를 설정합니다. 또는 3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정의 지침을 따라 퍼블릭 및 프라이빗 키로 사용자를 설정합니다.

  6. git pull를 실행합니다. 다음 오류가 나타납니다.

    HTTPS의 경우에는 다음과 같이 합니다.

    fatal: unable to access 'https://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

    SSH의 경우에는 다음과 같이 합니다.

    fatal: unable to access 'ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/repository-name/': The requested URL returned error: 403.

    새 사용자에게 공유 리포지토리를 CodeCommit 리포지토리와 동기화할 권한이 없어 이런 오류가 발생하는 것입니다.

  7. IAM 콘솔로 돌아갑니다. 탐색 창에서 정책을 선택한 후 정책 생성을 선택합니다. (시작하기 버튼이 표시되면 이 버튼을 선택한 후 정책 생성을 선택합니다.)

  8. 자체 정책 생성 옆의 선택을 선택합니다.

  9. 정책 이름 상자에 이름을 입력합니다(예: CodeCommitAccess-GettingStarted).

  10. IAM 사용자가 자신과 연결된 리포지토리에서 풀할 수 있도록 정책 문서 상자에서 다음을 입력합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull" ], "Resource": "*" } ] }

    작은 정보

    IAM 사용자가 자신과 연결된 리포지토리로 커밋을 푸시할 수 있도록 하려면 다음을 대신 입력합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush" ], "Resource": "*" } ] }

    다른 CodeCommit 작업과, 사용자에게 제공할 수 있는 리소스 권한에 대해 자세히 알아보려면 AWS CodeCommit에 대한 인증 및 액세스 제어 섹션을 참조하세요.

  11. 탐색 창에서 사용자를 선택합니다.

  12. 정책에 첨부할 예제 사용자 이름(예: JaneDoe-CodeCommit)을 선택합니다.

  13. 권한 탭을 선택합니다.

  14. 관리형 정책에서 정책 연결을 선택합니다.

  15. 방금 생성한 CodeCommitAccess-GettingStarted 정책을 선택한 후 정책 연결을 선택합니다.

  16. git pull를 실행합니다. 이제 명령이 실행되면서 Already up-to-date 메시지가 표시되어야 합니다.

  17. HTTPS를 사용하는 경우 원래 Git 자격 증명으로 전환하거나 git-remote-codecommit를 사용하는 경우 일반 프로파일로 전환합니다. 자세한 내용은 Git 보안 인증 정보를 사용하는 HTTPS 사용자를 위한 설정 단원 또는 git-remote-codecommit을 사용하여 AWS CodeCommit에 대한 HTTPS 연결을 위한 설정 단계 단원을 참조하십시오.

    SSH를 사용하는 경우 원래 키로 전환합니다. 자세한 내용은 SSH와 Linux, macOS Unix: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키를 설정합니다. 또는 3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정 단원을 참조하세요.

본 자습서를 이수하셨습니다.

9단계: 정리

이 단계에서는 이 자습서에서 사용한 CodeCommit 리포지토리를 삭제하여 스토리지 공간에 대해 요금이 청구되지 않도록 합니다.

CodeCommit 리포지토리를 삭제하면 로컬 리포지토리와 공유 리포지토리는 더 이상 필요하지 않으므로 로컬 컴퓨터에서 제거해도 됩니다.

중요

이 리포지토리를 삭제하면 이 리포지토리를 로컬 또는 공유 리포지토리에 복제할 수 없게 됩니다. 또한 로컬 또는 공유 리포지토리를 대상으로 데이터를 풀하거나 푸시할 수 없습니다. 이 작업은 실행을 취소할 수 없습니다.

CodeCommit 리포지토리를 삭제하려면 (콘솔)

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

  2. 대시보드 페이지에서 리포지토리 목록 중 MyDemoRepo를 선택합니다.

  3. 탐색 창에서 설정을 선택합니다.

  4. 설정 페이지의 리포지토리 삭제에서 리포지토리 삭제를 선택합니다.

  5. 리포지토리의 이름을 입력하여 삭제를 확인 옆의 상자에 MyDemoRepo를 입력한 다음 삭제를 선택합니다.

CodeCommit 리포지토리를 삭제하려면 (AWS CLI)

리포지토리 삭제 명령을 실행합니다.

aws codecommit delete-repository --repository-name MyDemoRepo

로컬 및 공유 리포지토리를 삭제하려면

Linux, macOS, Unix의 경우:

cd /tmp rm -rf /tmp/my-demo-repo rm -rf /tmp/shared-demo-repo

Windows의 경우:

cd c:\temp rd /s /q c:\temp\my-demo-repo rd /s /q c:\temp\shared-demo-repo