추가 Git 리포지토리로 커밋 푸시 - AWS CodeCommit

AWS CodeCommit 는 더 이상 신규 고객이 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기

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

추가 Git 리포지토리로 커밋 푸시

변경 내용을 두 개의 원격 리포지토리에 푸시하도록 로컬 리포지토리를 구성할 수 있습니다. 예를 들어, 사용자는 AWS CodeCommit을 사용해 보는 동안 기존 Git 리포지토리 솔루션을 계속 사용하려 할 수 있습니다. 다음 기본 단계에 따라 로컬 리포지토리의 변경 사항을 CodeCommit 및 별도의 Git 리포지토리로 푸시합니다.

작은 정보

Git 리포지토리가 없는 경우 이외의 CodeCommit 서비스에서 빈 리포지토리를 생성한 다음 리포지토리를 해당 CodeCommit 리포지토리로 마이그레이션할 수 있습니다. CodeCommit으로 마이그레이션의 단계와 유사한 단계를 따라야 합니다.

  1. 명령 프롬프트나 터미널에서, 로컬 리포지토리 디렉터리로 전환한 다음 git remote -v 명령을 실행합니다. 다음과 유사한 출력 화면이 표시되어야 합니다.

    HTTPS의 경우:

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    SSH의 경우:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)
  2. 가 코드를 호스팅하려는 Git 리포지토리의 git-repository-name URL 및 이름인 git remote set-url --add --push origin git-repository-name 명령을 실행합니다. 이렇게 하면 origin의 푸시 대상이 해당 Git 리포지토리로 변경됩니다.

    참고

    git remote set-url --add --push는 URL 푸시의 기본값을 재정의하므로 이후 단계에서 설명한 대로이 명령을 두 번 실행해야 합니다.

    예를 들어 다음 명령은 오리진 푸시를 some-URL/로 변경합니다MyDestinationRepo.

    git remote set-url --add --push origin some-URL/MyDestinationRepo

    이 명령은 아무 것도 반환하지 않습니다.

    작은 정보

    자격 증명이 필요한 Git 리포지토리로 푸시하는 경우 자격 증명 헬퍼 또는 some-URL 문자열 구성에서 해당 자격 증명을 구성해야 합니다. 그러지 않으면 해당 리포지토리로의 푸시가 실패합니다.

  3. git remote -v 명령을 다시 실행하면 다음과 비슷한 출력이 생성됩니다.

    HTTPS의 경우:

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)

    SSH의 경우:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push)
  4. 이제 CodeCommit 리포지토리를 추가합니다. 이번에는 리포지토리의 URL CodeCommit 및 리포지토리 이름으로 git remote set-url --add --push origin 다시 실행합니다.

    예를 들어 다음 명령은 https://git-codecommit.us-east-2.amazonaws에 리진 푸시를 추가합니다.com/v1/repos/MyDemoRepo

    HTTPS의 경우:

    git remote set-url --add --push origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    SSH의 경우:

    git remote set-url --add --push origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo

    이 명령은 아무 것도 반환하지 않습니다.

  5. git remote -v 명령을 다시 실행하면 다음과 비슷한 출력이 생성됩니다.

    HTTPS의 경우:

    origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push) origin https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    SSH의 경우:

    origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (fetch) origin some-URL/MyDestinationRepo (push) origin ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo (push)

    이제 푸시의 대상으로 두 개의 Git 리포지토리가 있지만 푸시는 some-URL/MyDestinationRepo first로 이동합니다. 해당 리포지토리로의 푸시가 실패하면 커밋은 어느 리포지토리로도 푸시되지 않습니다.

    작은 정보

    다른 리포지토리에 수동으로 입력하려는 자격 증명이 필요한 경우 CodeCommit 먼저 로 푸시하도록 푸시 순서를 변경하는 것이 좋습니다. git remote set-url --delete를 실행하여 첫 번째로 푸시된 리포지토리를 삭제한 다음 git remote set-url --add를 실행하여 해당 리포지토리를 다시 추가합니다. 그러면 해당 리포지토리가 목록에서 두 번째 푸시 대상이 됩니다.

    다른 옵션들에 대해서는 Git 설명서를 참조하세요.

  6. 이제 두 원격 리포지토리로 푸시하고 있는지 확인하려면, 텍스트 편집기를 사용하여 로컬 리포지토리에 다음 텍스트 파일을 생성합니다.

    bees.txt ------- Bees are flying insects closely related to wasps and ants, and are known for their role in pollination and for producing honey and beeswax.
  7. git add를 실행하여 로컬 리포지토리에 변경 사항을 스테이징합니다.

    git add bees.txt
  8. git commit을 실행하여 로컬 리포지토리에 변경 사항을 커밋합니다.

    git commit -m "Added bees.txt"
  9. 로컬 리포지토리에서 원격 리포지토리로 커밋을 푸시하려면를 실행합니다. git push -u remote-name branch-name 여기서 remote-name는 로컬 리포지토리에서 사용하는 별칭이고 branch-name는 리포지토리로 푸시할 브랜치의 이름입니다.

    작은 정보

    처음 푸시할 때만 -u 옵션을 사용하면 됩니다. 그러면 업스트림 추적 정보가 설정됩니다.

    예를 들어, git push -u origin main을 실행하면 푸시가 예상 브랜치의 두 원격 리포지토리로 이동한 것으로 표시되며, 출력은 다음과 유사합니다.

    HTTPS의 경우:

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

    SSH의 경우:

    Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To some-URL/MyDestinationRepo a5ba4ed..250f6c3 main -> main Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 5.61 KiB | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) remote: To ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo a5ba4ed..250f6c3 main -> main

다른 옵션들에 대해서는 Git 설명서를 참조하세요.