회사 컴퓨터에서 가끔 사이드 프로젝트에 관한 커밋을 할 때,
개인 계정으로 접속해서 커밋을 해도 잔디가 안 심어지는 현상이 생겼다.
알아보니 git config 에서 username과 email이 계정 정보와 일치하지 않으면 잔디가 안 심어진다는 것 ㅠㅠ
그래서 업무 디렉토리와 개인 디렉토리를 분리해서 각각 다른 깃허브 계정을 적용시키고 싶었다.
ssh-key 생성
1. 먼저 git bash를 켠다.
2. 각 깃허브 계정에 해당되는 key를 생성한다.
ssh-keygen -t rsa -C "github email" -f "[filename]"
예시) ssh-keygen -t rsa -C "xxx123@gmail.com" -f "id_rsa_me"
파일 이름은 구분 지을 수 있도록 하면 된다.
이렇게 하면 .ssh 폴더 밑에 id_rsa와 id_rsa.pub 키가 생성된다.
ssh-key 등록
ssh-add ~/.ssh/id_rsa_me
ssh key를 사용하기 위해 key 등록을 해준다.
간혹 등록이 안되고 "Could not open a connection to your authentication agent." 라는 문구가 뜨는데,
그때는
#ssh-agent를 시작
$ eval $(ssh-agent)
#개인키를 등록
$ ssh-add ~/.ssh/id_rsa_me
이렇게 ssh-agent를 시작하고 키를 등록해주면 된다.
ssh-config 파일 등록하기
기존에 config 파일이 있다면 수정하면 되지만, 나는 없어서 새로 만들었다.
vi ~/.ssh/config
# Company Github
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_company
User git
# My Github
Host me.github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_me
User git
이런 식으로 config 파일 내용을 작성해주었다.
기본적으로 Host는 github.com을 사용하기 때문에, 자주 사용하는 계정에 github.com을 입력하고,
덜 사용하는 계정에 따로 구분을 줬다. (내 경우엔 개인 계정에 me.github.com 이라고 구분을 줬음)
그러므로, ssh 주소를 사용하는 경우에는 개인 계정은 github.com이 아니고
git@me.github.com:study/hello-spring.git 이런식으로 입력해야 하는 번거로움은 있다.
Github에 ssh 키 등록하기
1. Github 페이지에서 Settings으로 이동.
2. 설정 페이지에서 SSH and GPG keys 탭으로 들어간다.
3. SSH keys에서 New SSH key 클릭!
4.
cat .ssh/id_rsa_me.pub
이 명령어를 이용해서 public key 내용을 복사한다.
5.
이 페이지에서 Title은 key 이름을 적어주고, 밑에 복사한 내용을 붙여넣고 Add SSH key 버튼 클릭!
그러면 key 등록 완료!
특정 폴더에 깃허브 특정 계정 정보 자동으로 사용하기
원래는 .gitconfig에 username과 useremail이 전역적으로 사용되게 설정되어 있다.
개인 프로젝트를 담은 폴더에 개인 깃허브 계정을 사용하게 하려면?
vi ~/.gitconfig-personal
[user]
name = github username 입력
email = github email 입력
[includeIf "gitdir:적용하고 싶은 폴더 경로 입력"]
path = .gitconfig-personal
이런 식으로 설정하면 된다!
참고한 사이트
https://bobbohee.github.io/2021-06-20/github-using-multi-account
https://computer-science-student.tistory.com/367
https://www.lainyzine.com/ko/article/useful-git-settings-when-using-github-multi-account/
댓글