Skip to main content

여러 계정 관리

1개의 워크스테이션을 사용하여 둘 이상의 계정에 대한 프로젝트에 기여하는 경우, Git 구성을 수정하여 기여 프로세스를 간소화할 수 있습니다.

Platform navigation

HTTPS 및 personal access token을(를) 사용하여 여러 계정에 기여

또는 두 계정에 HTTPS 프로토콜을 사용하려는 경우 각 리포지토리에 대해 서로 다른 자격 증명을 저장하도록 Git을 구성하여 각 계정에 대해 서로 다른 personal access token을(를) 사용할 수 있습니다.

  1. 터미널을 엽니다.

  2. 자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.

    Shell
    git config --get credential.helper
    
  3. 출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.

  • 출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.
    • 출력이 osxkeychain인 경우 macOS KeyChain을 사용합니다. 자격 증명을 지우려면 명령줄에서 다음 자격 증명 도우미를 사용할 수 있습니다.

      $ git credential-osxkeychain erase
      host=github.com
      protocol=https
      > [Press Return]
      >
      
    • 출력이 manager인 경우(이전 버전에서는 manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.

      Shell
      echo "protocol=https\nhost=github.com" | git credential-manager erase
      
  1. GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. 각 계정에 대해 repo 범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요.

  3. Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.

    Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.

  1. Git Bash를 엽니다.

  2. 자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.

    Shell
    git config --get credential.helper
    
  3. 출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.

  • 출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.

  • 출력이 manager인 경우(이전 버전에서는 manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.

    Shell
    echo "protocol=https`nhost=github.com" | git credential-manager erase
    
    • 출력이 wincred인 경우 Windows Credential Manager를 사용합니다. 자격 증명을 지우려면 다음 명령을 입력합니다.

      Shell
      cmdkey /delete:LegacyGeneric:target=git:https://github.com
      
  1. GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. 각 계정에 대해 repo 범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요.

  3. Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.

    Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.

  1. 터미널을 엽니다.

  2. 자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.

    Shell
    git config --get credential.helper
    
  3. 출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.

  • 출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.

  • 출력이 manager인 경우(이전 버전에서는 manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.

    Shell
    echo "protocol=https\nhost=github.com" | git credential-manager erase
    
  1. GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.

    Shell
    git config --global credential.https://github.com.useHttpPath true
    
  2. 각 계정에 대해 repo 범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요.

  3. Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.

    Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.

SSH 및 GIT_SSH_COMMAND를 사용하여 여러 계정에 기여

두 계정에 대해 SSH 프로토콜을 사용하려는 경우 각 계정에 대해 서로 다른 SSH 키를 사용할 수 있습니다. SSH 사용에 관한 자세한 내용은 SSH를 통한 GitHub 연결 항목을 참조하세요.

워크스테이션에 복제하는 리포지토리마다 다른 SSH 키를 사용하려면 Git 작업에 대한 셸 래퍼 함수를 작성해야 합니다. 이 함수는 다음 단계를 수행해야 합니다.

  1. git config --get remote.origin.url과 같은 명령을 사용하여 소유자와 함께 리포지토리의 전체 이름을 확인합니다.
  2. 인증에 정확한 SSH 키를 선택합니다.
  3. 그에 따라 GIT_SSH_COMMAND를 수정합니다. GIT_SSH_COMMAND에 대한 자세한 내용은 Git 설명서의 환경 변수를 참조하세요.

예를 들어, 다음 명령은 인증에 PATH/TO/KEY/FILE 에 있는 프라이빗 키 파일을 사용하여 GitHub.com에서 OWNER/REPOSITORY라는 리포지토리를 복제하는 SSH 명령을 지정하도록 GIT_SSH_COMMAND 환경 변수를 설정합니다.

Shell
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY