여러 Github 또는 Gitlab 계정에 대한 Git 설정

4825 단어 gitgithubgitlab
소프트웨어 개발자로 일할 때 다음과 같은 상황에 처할 수 있습니다. 개인 GitHub 및 Gitlab 계정이 있지만
새 직장에서 그들은 Github 또는 Gitlab도 사용하고 있습니다. 보안 문제로 인해 회사에서 계정만 사용하도록 허용하는 것이 매우 일반적입니다.
이 회사의 이메일로. 마지막에 다음 계정이 있다고 가정해 보겠습니다.
  • 이메일과 연결된 개인 GitHub 계정, [email protected] .
  • 이메일과도 연결된 개인 GitLab 계정, [email protected] .
  • 이메일과 연결된 직장 GitLab 계정, [email protected]

  • 이러한 수의 계정이 없는 것이 정상이라면 여기에서 가능한 모든 시나리오를 다루려고 합니다.
    따라서 우리는 하나의 노트북에서 모든 것에 액세스해야 합니다. 물론 저는 이 모든 계정의 개인 저장소에 액세스할 수 있어야 합니다.

    SSH 설정



    먼저 각 계정에 대한 ssh 키 쌍을 생성해 보겠습니다. 문서를 살펴보십시오GitHub.
    또는 GitLab , 두 문서 모두 매우 훌륭합니다.

    여러 ssh 키를 만들었다고 가정하고 이름을 다음과 같이 지정하겠습니다.
  • github_personal
  • 깃랩_퍼스널
  • gitlab_company

  • 이제 주어진 도메인에 요청할 때 사용할 ssh 키를 ssh에 알려야 합니다. ~/.ssh/config 파일을 열고 필요한 구성을 설정해 보겠습니다.

    
    # For personal github account.
    Host github.com
      Hostname github.com
      User git
      IdentityFile ~/.ssh/github_personal
    
    # For personal gitlab account.
    Host gitlab.com
      Hostname gitlab.com
      PreferredAuthentications publickey
      User git
      IdentityFile ~/.ssh/gitlab_personal
    
    # For company account.
    Host gitlab.funnycompany.com
      Hostname gitlab.funnycompany.com
      PreferredAuthentications publickey
      User git
      IdentityFile ~/.ssh/gitlab_company
    
    


    플랫폼의 계정에 ssh 키 추가



    GitHub에 이러한 키를 추가하려면 다음을 따르십시오documentation. GitLab의 경우 다음이 있습니다documenation.

    ssh 구성 확인



    이 구성이 실제로 제대로 작동하는지 확인하려면 다음 명령으로 테스트해야 합니다.

    개인 계정 GitHub

    ssh -T [email protected]
    


    개인 계정 GitLab

    ssh -T [email protected]
    


    회사 계정 GitLab

    ssh -T [email protected]
    


    이 명령은 모두 성공적인 메시지를 반환해야 하며, 그렇지 않으면 영원히 중단됩니다.

    git에게 ssh 방법 알려주기



    이제 이러한 구성을 사용할 수 있음을 git에 알려야 하므로 ~/.gitconfig를 엽니다. 그 전에, 나는 당신이 가질 것을 권합니다
    개인 코드와 회사 코드를 위한 폴더를 분리합니다. Work/FunnyCompany 및 Personal/AwesomeCode 폴더가 있다고 가정합니다.
    ~/.gitconfig에서 다음을 설정해 보겠습니다.

    # Setup for Gitlab Company
    [includeIf "gitdir:~/Work/FunnyCompany/"]
    path = ~/Work/FunnyCompany/.gitconfig-funnycompany
    
    [core]
    excludesfile = ~/.gitignore
    
    # For personal accounts.
    [url "ssh://[email protected]/"]
        insteadOf = https://gitlab.com/
    
    [url "ssh://[email protected]/"]
        insteadOf = https://github.com/
    
    [user]
        email = [email protected]
        name = Gealber
    


    첫 번째 줄에서는 폴더~/Work/FunnyCompany에서 git 작업을 수행할 때마다 사용할 폴더.gitconfig-funnycompany를 지정했습니다.
    구성을 가져오려면 이 동일한 폴더에 있는 파일입니다. 그렇지 않으면 모든 https 요청에서 ssh를 사용하도록 git에 지시합니다. .gitconfig-funnycompany에서 우리는

    
    [user]
    email = [email protected]
    name = gealber
    
    [gitlab]
    user = "gealber"
    
    [url "ssh://[email protected]/"]
        insteadOf = https://gitlab.funnycompany.com/
    
    


    이 설정 후에 문제 없이 git 작업을 수행할 수 있습니다.

    좋은 웹페이지 즐겨찾기