Skip to main content

Github 멀티 계정으로 푸쉬하기

Goal

새로운 깃헙 계정을 만들었다.

  • github 계정에 따라서 ssh key를 바꾸어 가며 커밋을 하고자 한다.

방법

github에 ssh키로 접근할 수 있다.

  • 기존의 계정의 ssh 설정은 그대로 두자.!
  • 새로운 계정은 host 정보를 바꾸어 특정 ssh키와 이름을 바탕으로 접속 가능 (설정파일 : ~/.ssh/config )
// 0. 기존의 계정은 github에 성공적으로 등록되었다고 가정한다.  
// id_rsa는 기본값으로 별도의 설정없이 아래처럼 키 만들고 깃허브에 공개키 등록만 하면 된다.
// ssh-keygen -t rsa -C "username1@naver.com" -f "id_rsa"
// ssh-add id_rsa


// 1. 새로 만들 이름은 username2 라고 가정한다.
// - username2으로 키 생성
cd ~/.ssh
ssh-keygen -t rsa -C "username2@naver.com" -f "id_rsa_username2"

// 2. ssh-agent에 등록
>ssh-add id_rsa_username2

//확인
//기존의 키와, 새로운키 2개가 보인다.
>ssh-add -l
3072 SHA256:Q6+jD5XCUndXMqG5x8Soqk3WWX5GqNbX3i9j86UDjcc username1@gmail.com (RSA)
3072 SHA256:22dNKg4vehTS60TsgTN4sLgq9mw1P44rVStY9fFg814 username2@naver.com (RSA)

//3. ~/.ssh/config 수정 (없으면 만들기.)
// host의 정보로 ssh키를 분기해주는 설정이다.
# Personal account-username2
Host github.com-username2
HostName github.com
User username2
IdentityFile ~/.ssh/id_rsa_username2


//확인
ssh -T github.com-username2
Hi username2! You've successfully authenticated, but GitHub does not provide shell access.

//4. github 에 ssh키 등록하기

//5. 깃 레포 받아오기, 푸쉬
// 깃 레포에서 ssh 로 클론 주소를 복사하면 아래와 같다.
git clone git@github.com:username2/multi-user.git

// 이제부터 아래처럼 호스트를 바꿔서, 받아오자. ( 서로 다른 비밀키를 분기하도록 )
git clone git@github.com-username2:username2/multi-user.git

// 또는 아래처럼 remote를 추가해도 좋다.
git remote add upstream git@github.com-username2:username2/multi-user.git

// 6. 각 프로젝트 로컬에, gitconfig 추가하기 ( 커밋터 정보 입력 )
git config --local user.name "username2"
git config --local user.email "username2@naver.com"

// 확인
git config --local --list

ref) https://usingu.co.kr/frontend/git/%ED%95%9C-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%97%90%EC%84%9C-github-%EA%B3%84%EC%A0%95-%EC%97%AC%EB%9F%AC%EA%B0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0/