AWS CodeCommit 는 더 이상 신규 고객이 사용할 수 없습니다. AWS CodeCommit 의 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세히 알아보기
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
추가 Git 리포지토리로 커밋 푸시
변경 내용을 두 개의 원격 리포지토리에 푸시하도록 로컬 리포지토리를 구성할 수 있습니다. 예를 들어, 사용자는 AWS CodeCommit을 사용해 보는 동안 기존 Git 리포지토리 솔루션을 계속 사용하려 할 수 있습니다. 다음 기본 단계에 따라 로컬 리포지토리의 변경 사항을 CodeCommit 및 별도의 Git 리포지토리로 푸시합니다.
작은 정보
Git 리포지토리가 없는 경우 이외의 CodeCommit 서비스에서 빈 리포지토리를 생성한 다음 리포지토리를 해당 CodeCommit 리포지토리로 마이그레이션할 수 있습니다. CodeCommit으로 마이그레이션의 단계와 유사한 단계를 따라야 합니다.
-
명령 프롬프트나 터미널에서, 로컬 리포지토리 디렉터리로 전환한 다음 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)
-
가 코드를 호스팅하려는 Git 리포지토리의
git-repository-name
URL 및 이름인 git remote set-url --add --push origingit-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
문자열 구성에서 해당 자격 증명을 구성해야 합니다. 그러지 않으면 해당 리포지토리로의 푸시가 실패합니다. -
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) -
이제 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
이 명령은 아무 것도 반환하지 않습니다.
-
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 설명서를 참조하세요.
-
이제 두 원격 리포지토리로 푸시하고 있는지 확인하려면, 텍스트 편집기를 사용하여 로컬 리포지토리에 다음 텍스트 파일을 생성합니다.
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.
-
git add를 실행하여 로컬 리포지토리에 변경 사항을 스테이징합니다.
git add bees.txt
-
git commit을 실행하여 로컬 리포지토리에 변경 사항을 커밋합니다.
git commit -m "Added bees.txt"
-
로컬 리포지토리에서 원격 리포지토리로 커밋을 푸시하려면를 실행합니다. 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 -> mainSSH의 경우:
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 설명서를 참조하세요.