잇스쿨

[Git] github 다수의 계정 사용하기 본문

Tools

[Git] github 다수의 계정 사용하기

잇님 2020. 7. 10. 20:26

 

 

회사에서 사용하는 github 계정과 개인 계정을 같이 쓸 수 있다는 사실을

구글링을 통해 알아내고서 열심히 뻘짓을 하며 며 성공했다...!

 

나중에 다시 하려면 또 뻘짓을 할 것 같아서 포스팅하기로...★

 

우선 PC에 Git이 이미 설치되어 있다라는 가정하에 아래와 같은 단계로 진행된다.

 

 

1. SSH-key 생성

 

Git Bash를 실행한 후, 아래의 명령어를 실행한다. 이 때, 이메일 주소는 git에 가입한 이메일 주소로 입력해야 한다.

$ ssh-keygen -t rsa -b 4096 -C [개인 이메일 주소]

 

Enter! 하면 key의 이름을 입력하라고 아래와 같은 문구를 노출한다.

 

Generating public/private rsa key pair. Enter file in which to save the key (/Users/dpudpu/.ssh/id_rsa):

 

기본값은 id_rsa이지만, 개인/회사 계정을 구분짓기 위해 /Users/User/.ssh/id_rsa_personal이라고 입력한다.

여기서 /Users/User/는 제가 원하는 경로에 저장하기 위함으로 아래의 이미지처럼 경로를 설정한다.

 

 

 

같은 방식으로 또 다른 계정의 키를 생성한다. 회사 계정임으로 키의 이름을 id_rsa_company로 한다.

 

$ ssh-keygen -t rsa -b 4096 -C "회사 이메일 주소"

Generating public/private rsa key pair. Enter file in which to save the key (/Users/dpudpu/.ssh/id_rsa): /Users/User/.ssh/id_rsa_company

 

 

그럼 ~/.ssh 경로에 총 4개의 파일이 아래처럼 생성된다.

 

 

 

2. Key 등록

 

생성된 키를 ssh-add로 등록한다.

 

$ ssh-add id_rsa_personal

$ ssh-add id_rsa_company

 

 

3. key 복사 & github에 등록하기

$ clip <~/.ssh/id_rsa_company.pub

 

명령어를 실행하면 ssh key 값이 나오는데, 이를 복사합니다.

 

 

https://github.com/ 에 접속하여 회사 계정으로 로그인해서, settings -> SSH and GPG keys -> New SSH key 를 들어갑니다.

3번에서 복사한 key값을 New SSH key 버튼을 클릭하여 이동한 화면의 Form에 Key 입력창에 넣고 Add 합니다.

 

 

 

같은 방식으로 $ clip <~/.ssh/id_rsa_personal.pub로 키값을 복사하여 https://github.com/ 에 접속하여 개인 계정으로 로그인해서 Key 값을 등록합니다.

 

 

 

4. ~/.ssh/config 설정

저 같은 경우는 C:\Users\User\.ssh 경로에 config 파일을 만들었습니다. 없다면 새로 만들면 되니까 놀라지 마세요..!

확장자는 따로 없고, 그냥 config로 만들어주면 됩니다.

 

# company
Host company-github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_company

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

 

위의 내용을 입력하고 저장!

 

정상적으로 연결이 되는지 ssh -T [host]로 확인합니다.

 

$ ssh -T company-github.com
$ ssh -T personal-github.com

위의 명령어를 입력했을 때, 정상적으로 연결이 되면 Hi [계정명]! You've successfully authenticated, but GitHub does not provide shell access. 문구가 보입니다.

 

 

5. ~/.gitconfig 설정

~/.gitconfig 에 전역 설정을 합니다. C:\Users\User 경로에 생성하였고, 아래의 내용을 저장합니다.

[user]

    name = [개인 계정명]

    email = [개인 계정 이메일 주소]

[includeIf "gitdir:~/Public"]

  path = .gitconfig-company

includeIf 는 C:\Users\User\Public 디렉터리 아래 있다면 ~/.gitconfig-company 파일을 불러옵니다.

 

~/.gitconfig-company 파일도 생성하여 아래의 내용을 입력 후 저장합니다.

[user]
    name = [회사 계정명]
    email = [회사 계정 이메일 주소]

 

위와 같이 설정하면 평소에는 user.email에 개인 개정을 사용하고 ~/Public 디렉터리에서는 회사 계정을 사용하게 됩니다.

 

 

6. 사용하기

여기서 좀 뻘짓을 했는데 기존에 사용하던 git 거북이(TortoiseGit) 에 이미 회사 계정으로 등록이 되어 있어서 개인 계정의 레파지토리 clone 후, push 하는데 계속~~~

remote: Permission to denied to [회사 계정명]

fatal: unable to access 'git 주소' : The requested URL returned error: 403 문구가 나왔다.

즉, 회사 계정으로는 개인 계정의 레파지토리에 push를 못한다는 소리!

 

 

구글링을 해보니 [제어판]-[사용자 계정]-[자격 증명 관리자] 로 들어가 Windows 자격 증명에서 git 관련된 일반 자격 증명을 모두 제거하라고 되어 있었다. 그리고 개인 계정을 Global로 설정해놨기 때문에 거북이에 세팅에 들어가 계정을 일반 계정으로 변경해주었다.

 

 

그래도 계속 동일한 에러가 나서 더 구글링을 해보니 해결방법이 있었다.

 

6-1. 업로드 하고 싶은 프로젝트 경로에서 마우스 우클릭

6-2. 아래의 명령어 순서대로 실행

 

git init

 

git remote add origin 레파지토리 주소

 

git pull origin master

 

git add .

 

git commit -m "first commit"

 

git push -u origin master

 

6-3. push 명령어 입력하고 Enter하는 순간 새로 로그인하라는 창이 출력되면 계정 정보 입력 후 로그인

 

* 자세한 내용은 아래 블로그를 참고했으니 이동 GoGo

https://meaownworld.tistory.com/78

 

github - git bash 터미널 계정 변경

팀 프로젝트를 하다보면 기존에 github에서 로그아웃하고 다른 계정으로 작업하고 싶은 일이 생길 것입니다. 전 이 과정에서 많은 시간을 허비했으므로 (....) 기록을 남깁니다. 그 때 작업을 하는

meaownworld.tistory.com

 

* clone 할 때, 주소는 HTTPS 주소를 복사해서 사용하기

 

 

7. 참고

 

그래도 에러가 나신다! 하시는 분들은 개인 계정을 Git Bash에서 global로 재설정해주세요! 

아래 블로그 참고 부탁드립니다!

 

https://recoveryman.tistory.com/283

 

[깃허브(Github)] 19. push 에러 2

이전 push  에러는 그냥 단순히 SSH 로 되어있는걸 HTTPS 로 바꿔줘서 해결했었습니다. http://recoveryman.tistory.com/282 그런데 비슷한 상황인데 HTTPS 로 해서 에러가 뜰 경우가 있습니다. 그리고 SSH 로..

recoveryman.tistory.com

 

앗 그리고 private 레퍼지토리를 clone하려면

$ git clone [host]:[githubId]/[repository명] 

명령어를 실행하고, 여기서 [host]는 ~/.ssh/config 에서 설정한 host입니다.

 

$ git clone personal-github.com:[githubId]/[repository명]이 되겠죠!

 

 

 

가장 큰 도움이 되었던 블로그들 아래 url 남겨드리니 함께 참고 부탁드립니다~

https://dublin-java.tistory.com/62

 

하나의 컴퓨터로 github 계정 여러 개 사용하기

두 개의 github 계정(개인, 회사)을 나눠서 이용하는 방법을 공유합니다. 일단은 셋팅이 하나도 되어 있지 않다는 전제하에 시작하겠습니다. 1. SSH-key 생성 및 등록 $ ssh-keygen -t rsa -b 4096 -C [이메일]

dublin-java.tistory.com

https://velog.io/@jay/multiplegithubaccounts

 

한 컴퓨터에서 여러 개의 깃허브 계정 사용하기

😀안녕하세요😀 프론트엔드 개발자 영일윤입니다. 코딩할때 파일을 어디다가 저장하시나요? 로컬환경에 폴더하나를 만들어 저장할 수도 있지만 공동의 작업을 위해서 작성한 코드를 합치거��

velog.io