git 계정을 여러개 폴더별로 구분해서 사용하는 방법에 대해서 정리해본다.

개발을 진행하다보면 여러개의 계정으로 접근해야 할 때가 있다.

github 계정을 두 개를 사용해야 된다거나 gitlab이랑 github를 사용한다거나

 

이때 관리를 편리하게 하기 위한 방법을 여러 가지 시도해봤지만

개인적으로 가장 간편한 방법이었기에 정리해둔다.

 

터미널을 실행하여 홈에서 각각 설정할 config 파일을 생성한다.

총 생성할 파일은 아래 세가지다.

 

home/.gitconfig

home/.gitconfig-company

home/.gitconfig-yunji

 

.gitconfig 파일이 있다면 해당 파일 뒤에 내용을 추가하고,

없다면 생성하도록 하자.해당 파일은 설정 파일임으로 숨김파일로 생성한다.

 

아래 두개의 config file을 생성했다.
회사용 계정 .gitconfig-company
개인용 계정 .gitconfig-yunji

# 숨김 파일로 회사용 config 파일생성. 이름은 자유롭게 지어도 된다.
vi ~/.gitconfig-company

# 내용 작성
# 여기서 중요한 점은 [core] 부분인데, 회사계정과 연동된 ssh 파일 경로를 적는다.
[user]
  email = yj.ko@회사이메일.com
  name = yunji
[core]
sshCommand = ssh -i ~/.ssh/yunji-company-ubuntu

#=======================================================================

# 숨김 파일로 개인용 config 파일생성. 이름은 자유롭게 지어도 된다.
vi ~/.gitconfig-yunji

# 내용 작성
# 여기서 중요한 점은 [core] 부분인데, 개인계정과 연동된 ssh 파일 경로를 적는다.
[user]
  email = yj.ko@개인이메일.com
  name = yunji
[core]
sshCommand = ssh -i ~/.ssh/yunji-personal-ubuntu

 

이제 위의 두가지 파일을 .gitconfig에서 각 폴더 별 경로와 매칭시켜준다.

 

# .gitconfig 파일을 열어서 수정하자.
vi ~/.gitconfig

# git 프로젝트 생성시 회사 프로젝트 폴더 경로인 경우에는 gitconfig-company 파일을 읽도록 하고
# 개인 프로젝트 경로에 만들 경우 gitconfig-yunji 파일을 읽도록 한다.
[includeIf "gitdir:~/company.project/"]
	path = .gitconfig-company

[includeIf "gitdir:~/yunji.project/"]
        path = .gitconfig-yunji

 

그런다음 저장하면, 이제 회사 폴더 경로에서는 회사 git 계정으로 프로젝트를 가져올 수 있고

개인 프로젝트 경로에서는 개인 git 계정으로 프로젝트를 가져올 수 있다.

 

 

만약, 설정을 다했는데 안되는 경우 아래 두가지를 해보자.
1. 해당 터미널 종료 후 새로운 터미널에서 재시도

2. ssh 서비스 재시작 후 재시도 (ssh 설정도 이것저것 바꾸면서 꼬인경우 발생 가능)

service ssh restart

+ Recent posts