한 컴퓨터로 여러 개의 Git 계정을 사용하자!

Karim·2021년 11월 18일
5
post-thumbnail

1. 서론

💬

회사에서는 gitlab을 사용하고
개인적인 공부는 github로 진행하고 있어서
한 컴퓨터로 2개의 git계정을 사용을 해야 했다.!!

2. 적용 전 확인 사항

💬

  • 작성자는 계정 2개를 사용하므로 2개의 계정을 연동합니다.
  • git 이 미리 설치되어 있어야 합니다.
  • git 계정 이 있어야 합니다.

2. SSH key-gen 생성

💬 Git Bash Here

💬 ssh-keygen

  • 계정 2개를 사용하므로 2번을 진행합니다.
ssh-keygen -t rsa -b 4096 -C "github 계정"
ssh-keygen -t rsa -b 4096 -C "gitlab 계정"
$ ssh-keygen -t rsa -b 4096 -C "aaa@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Karim/.ssh/id_rsa):hub
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Karim/.ssh/hub
Your public key has been saved in /c/Users/Karim/.ssh/hub.pub
The key fingerprint is:
SHA256:P/PLrFQoFM4iWgLHtH+wzfsvGNlCIFERW2RJvUmpKFc aaa@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
|.o+o+==o..       |
| oo..+Eo+.       |
|  o.=+.o+o       |
|  .=o*ooo  .     |
|  .oo.+oS . .    |
|     .+..o .     |
|      .+  =      |
|      .... *     |
|        .oo.=.   |
+----[SHA256]-----+
  • 해당 부분에서 rsa 이름을 지정 할 수 있습니다.
    !!!2개 생성하고 적용해야 하므로 지정해서 만들어 주시는게 편해요!!!

    Enter file in which to save the key (/c/Users/Karim/.ssh/id_rsa):

  • 암호를 설정하는 부분이지만 작성자는 Enter 쳤어요~

    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:

  • 이 작업을 마치면 /c/Users/Karim/.ssh/ dir 안에 .pub 파일과 ssh-keygen이 생성된 것을 확인할 수 있습니다.

3. ssh-agent 에 키 등록

💬 eval $(ssh-agent)

  • ssh-add 해주기 전에 ssh-agent를 가동한다.
$ eval $(ssh-agent)
Agent pid 3215

💬 ssh-add

  • 키를 사용하기 위해서는 ssh-agent에 키를 등록해야 한다.
$ ssh-add ~/.ssh/hub
$ ssh-add ~/.ssh/lab

4. github / gitlab에 ssh키 등록

💬 github

  • 우측 상단에 나의 프로필에서 Settings로 들어간다.
  • 좌측 메뉴에서 SSH and GPG keys로 들어간다.
  • SSH Keys 버튼을 누른다.
  • 2번에서 생성된 ssh-keygen.pub의 값을 key에 넣고 Add SSH key 버튼을 누른다.
  • 값이 넣어졌는지 확인한다.

💬 gitlab

  • 우측 상단에 나의 프로필에서 Preferences로 들어간다.
  • 좌측 메뉴에서 SSH Keys 로 들어간다.
  • 2번에서 생성된 ssh-keygen.pub의 값을 key에 넣고 Add key 버튼을 누른다.
  • 값이 넣어졌는지 확인한다.

5. ssh config 작성

💬 ssh config 파일 생성

vi ~/.ssh/config

💬 ssh 계정 추가

# 계정 1
Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/hub <- keygen 이름

# 계정 2
Host gitlab.com
        HostName gitlab.com
        User git
        IdentityFile ~/.ssh/lab <- keygen 이름

6. ssh 적용 테스트

💬 ssh -T Host

Karim@Limsubin MINGW64 /c
$ ssh -T gitlab.com
Welcome to GitLab, @limsubin!

Karim@Limsubin MINGW64 /c
$ ssh -T github.com
Hi Karim-love! You've successfully authenticated, but GitHub does not provide shell access.

7. Repositories ssh Clone

💬 SSH Clone 복사

  • ssh 로 복사 한다.

💬 SSH Clone 적용

  • clone 을 받을 때 복사한 url 그대로 적용하면 안되고 가공해주어야 한다.!!

git@"!!!!config의 설정한 host!!!!!":git주소/Repositories명.git

8. Clone 받은 Project에 git local user 설정

💬 적용

git config --local user.name "Karim"
git config --local user.email "git 계정"

💬 적용 확인

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글