Git 클라이언트 및 AWS CodeCommit 문제 해결 - AWS CodeCommit

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

Git 클라이언트 및 AWS CodeCommit 문제 해결

다음 정보는 AWS CodeCommit 리포지토리에서 Git을 사용할 때 발생하는 일반적인 문제를 해결하는 데 도움이 됩니다. HTTPS 또는 SSH 사용 시 Git 클라이언트와 관련해 발생하는 문제를 해결하려면 Git 보안 인증 정보(HTTPS) 문제 해결, SSH 연결 문제 해결, 보안 인증 도우미(HTTPS) 문제 해결 섹션을 함께 참조하세요.

Git 오류: RPC failed; result=56, HTTP code = 200 fatal: 원격 엔드가 예기치 않게 끊겼습니다

문제:대규모 변경 사항, 대량의 변경 사항 또는 대규모 리포지토리 푸시할 때는 장시간 실행 중인 HTTPS 연결이 네트워킹 문제나 방화벽 설정으로 인해 조기에 종료되는 경우가 많습니다.

가능한 해결 방법: SSH를 대신 사용하여 푸시하거나, 대규모 리포지토리를 마이그레이션하는 경우에는 리포지토리를 증분으로 마이그레이션하기 섹션의 다음 단계를 따릅니다. 또한 개별 파일의 크기 제한을 초과하지 않도록 합니다. 자세한 내용은 할당량 섹션을 참조하세요.

Git 오류: 참조 업데이트 명령이 너무 많습니다

문제: 푸시당 최대 참조 업데이트 수는 4,000개입니다. 이 오류는 푸시에 4,000개 이상의 참조 업데이트가 포함되면 나타납니다.

가능한 해결 방법: git push --allgit push --tags를 사용하여 브랜치와 태그를 개별적으로 푸시합니다. 태그가 너무 많으면 태그를 여러 번으로 나누어 푸시합니다. 자세한 내용은 할당량 섹션을 참조하세요.

Git 오류: 일부 Git 버전에서 HTTPS를 통한 푸시가 손상되었습니다

문제: curl을 7.41.0으로 업데이트하면서 발생하는 문제로 인해 SSPI 기반 다이제스트 인증이 실패합니다. 영향을 받는 것으로 알려진 Git 버전 중에는 1.9.5.msysgit.1이 포함되어 있습니다. Windows용 Git의 일부 버전은 RFC 2617RFC 4559를 완전히 준수하지 않을 수 있으며, AWS CLI와 함께 포함된 Git 보안 인증 또는 보안 인증 도우미를 사용하여 HTTPS 연결에 관한 문제를 일으킬 가능성이 있습니다.

가능한 해결 방법: 사용 중인 Git 버전의 알려진 문제를 확인하거나, 이전 또는 이후 버전을 사용합니다. mysysgit에 대한 자세한 내용은 GitHub 포럼에서 HTTPS를 통한 푸시가 손상되었습니다를 참조하세요. Windows용 Git의 버전 문제에 대해 자세히 알아보려면 버전 2.11.0(3)이 사용자 이름과 암호를 묻지 않습니다를 참조하세요.

Git 오류: 'gnutls_handshake()가 실패했습니다'

문제: Linux에서 Git을 사용하여 CodeCommit 리포지토리와 통신을 시도할 때 error: gnutls_handshake() failed 문구가 포함된 오류 메시지가 나타납니다.

가능한 해결 방법: OpenSSL에 대해 Git을 컴파일합니다. 한 가지 방안으로, Ubuntu에 질문하기 포럼에서 HTTPS 서버에 연결 시 ‘오류: nutls_handshake() 실패’를 참조하세요.

또는 HTTPS 대신 SSH를 사용하여 CodeCommit 리포지토리와 통신할 수 있습니다.

Git 오류: Git이 CodeCommit 리포지토리를 찾을 수 없거나 리포지토리에 액세스할 권한이 없습니다

문제: 연결 문자열에 후행 슬래시가 있으면 연결 시도가 실패할 수 있습니다.

가능한 해결 방법: 리포지토리의 이름과 연결 문자열을 올바르게 입력했는지, 그리고 후행 슬래시가 없는지 확인합니다. 자세한 내용은 리포지토리에 연결 섹션을 참조하세요.

Windows의 Git: 지원되는 인증 방법이 없습니다 (퍼블릭키)

문제: Windows용 SSH 액세스를 구성한 후, git pull, git push, git clone와 같은 명령어를 사용하려고 하면 액세스 거부 오류가 표시됩니다.

가능한 해결 방법: 이 오류의 가장 일반적인 원인은 GIT_SSH 환경 변수가 컴퓨터에 존재하고 PuTTY와 같은 다른 연결 유틸리티를 지원하도록 구성되어 있기 때문입니다. 이 문제를 수정하려면 다음 중 한 가지를 시도합니다.

  • Bash 에뮬레이터를 열고 GIT_SSH_COMMAND="ssh" 파라미터를 Git 명령 앞에 추가합니다. 예를 들어 리포지토리의 복제를 시도하는 경우에는 git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo 대신 다음을 실행합니다.

    GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  • GIT_SSH 환경 변수의 이름은 더 이상 사용하지 않으면 바꾸거나 삭제합니다. 새 명령 프롬프트 또는 Bash 에뮬레이터 세션을 연 다음 명령을 다시 시도합니다.

SSH를 사용할 때 Windows에서 발생하는 Git 문제를 해결하는 방법에 대해 자세히 알아보려면 SSH 연결 문제 해결 섹션을 참조하세요.