티스토리 뷰

728x90
반응형

github을 열심히 사용하는 개발자들이라면

 

아마도 개인적으로 하는 프로젝트들도 github에 있을거고

 

회사에서도 github을 쓰고 있을거예요

 

 

물론 회사용 컴퓨터, 개인용 컴퓨터로 구분하여

 

회사용 컴퓨터로는 회사용 github repository에 접근하고

 

개인용 컴퓨터로는 개인용 github repository에 접근하는것이 제일 좋은데요

 

 

회사일과 본인일의 경계가 희미한분들은 동일한 pc에서 회사용, 개인용 github계정을 모두 써야할 필요가 있을때가 있습니다

 

 

이런분들을 위한 github의 다중 계정을 설정하는 방법을 알려드려요

 

 

여기서 소개하는 세팅의 기본적인 개념은 회사 계정을 디폴트로 두고 개인계정을 추가하는 방식인데요

 

내용을 이해하시고 참고하시면 반대의 세팅을 하거나, 2개 이상의 여러개의 세팅이나 환경 구성도 가능합니다

 

 

 

일단 가장 먼저 각각의 github에 인증용으로 사용할 ssh 키가 2개가 있어야 합니다

 

당연히 하나는 개인용이고, 하나는 회사용이겠죠

 

각각 다른 이름으로 파일을 생성해주세요

 

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "personal@email.com"
ssh-keygen -t rsa -b 4096 -C "office@email.com"

 

생성하고 난 다음에 .ssh 폴더를 열어보면

ls -al ~/.ssh

 

이러한 형태로 키쌍이 2개가 있어야 합니다

 

꼭 해당 파일명일 필요는 없지만 회사용과 개인용의 파일명을 명확히 알수 있도록 구분해주세요

 

id_rsa_personal
id_rsa_personal.pub
id_rsa_office
id_rsa_office.pub

 

그리고 각 쌍의 공개키를 회사용, 개인용 github의 내 계정에 등록해줍니다

pbcopy < ~/.ssh/id_rsa_personal.pub

 

아래 링크를 클릭하면 github의 키등록페이지로 이동합니다

https://github.com/settings/keys

 

 

 

이제 각각의 키를 어떻게 사용할지 설정이 필요합니다

 

vi ~/.ssh/config

 

~/.ssh/config 파일을 생성하여 아래 내용을 저장합니다

 

# Personal account
Host github.com-personal
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_personal

# Office account
Host github.com
   HostName github.com
   User git
   IdentityFile ~/.ssh/id_rsa_office

 

파일 내용을 설명하자면

 

git repository의 경로가

 

github.com-personal 이라는 호스트면 ~/.ssh/id_rsa_personal 키파일을 사용하고

 

github.com 이라는 호스트면 ~/.ssh/id_rsa_office 키파일을 사용한다는 의미입니다

 

 

github.com-personal 이라는 호스트명은 실제로 실존하지는 않지만 논리적으로 구분을 하기 위한 설정값입니다

 

실제로는 github.com으로 호출하게 됩니다

 

 

 

그리고 github profile도 마찬가지로 각각 설정해야겠죠?

 

github project 별로 git config 명령어를 사용하여 commit 시에 사용될 유저 프로필을 설정할수도 있고

 

디렉토리별로도 가능합니다

 

 

일단 디폴트 이름을 지정합니다

vi ~/.gitconfig

해당 파일경로에 아래 내용을 기록해주세요

 

[user]
    name = Your Name
    email = office@email.com

[includeIf "gitdir:~/myproject/"]

    path = ~/myproject/.gitconfig

 

이 파일에 기록되는 name과 email이 기본값으로 사용되고

 

git 디렉토리가 ~/myproject가 포함된 경로에 있을때

 

~/myproject/.gitconfig 파일을 사용한다는 내용입니다

 

그렇다면 당연히 ~/myproject/.gitconfig 파일을 생성해야겠죠?

 

[user]
    name = Your Name
    email = personal@email.com

 

이렇게 저장하면 설정이 완료되었습니다

 

 

 

ssh -T github.com

 

ssh -T github.com-personal

 

각각 명령어를 입력했을때 각 호스트에 맞는 github 환영 메시지가 보인다면 모든 설정이 완료되었습니다

 

 

그리고 이제 앞으로 github repository를 clone하실때는 다음과 같은 방법으로 하시면 됩니다

 

디폴트 설정이 회사 계정을 쓰는것으로 설정했으니깐

 

회사의 repository에 접근할때는 기존과 동일한 방식으로 사용하시면 됩니다

 

git clone git@github.com:USERNAME/office-repo.git

 

그리고 개인 계정의 repository에 접근할때는 github.com이라는 호스트명이 있는 부분을

 

github.com-personal로 변경하시면 됩니다

 

git clone git@github.com-personal:USERNAME/personal-repo.git

 

github.com-personal이라는 호스트가 실존하지는 않지만 우리가 config에서 설정할때

 

github.com-personal의 호스트를 가졌을때는

 

github.com을 사용하고 키파일은 개인키파일을 사용하도록 지정했기때문에 정상적으로 동작하게 됩니다

 

 

github.com-personal을 사용한 repo는 personal 키정보를 사용하게 되고

github.com을 사용한 repo는 office 키정보를 사용하게 됩니다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함