개인용 Git 계정으로 회사의 프로젝트를 작업하고 싶은데, 회사의 Git 프로젝트에는 회사 이메일로 초대된 경우, 인증 절차와 커밋은 회사 이메일을 사용하면서 실질적인 작업은 개인의 Git 계정으로 할 수 있도록 설정하는 방법을 알아볼 것이다.
설정을 통해서 구분한 폴더에 따라서 어떤 폴더에서는 A이메일로 커밋이 찍히고, 또 다른 폴더에서는 B이메일로 커밋이 찍히게 된다.
[user]
email = {name}@company.com
name = {name}
vim ~/.gitconfig-company로 vim 에디터를 열고 위 내용을 작성해준다.
[user]
email = {name}@private.com
name = {name}
vim ~/.gitconfig-private로 vim 에디터를 열고 위 내용을 작성해준다.
[user]
email = kai@gmail.com
name = kai
[includeIf "gitdir:~/회사프로젝트가있는폴더/"]
path = ~/.gitconfig-company
[includeIf "gitdir:~/개인프로젝트가있는폴더/"]
path = ~/.gitconfig-private
vim ~/.gitconfig로 vim 에디터로 .gitconfig 파일을 열고, 위 내용을 입력해준다.
[user]에 작성된 프로필은 Default 프로필이고, [includeIf]에 작성된 프로필은 특정 폴더에 적용되는 프로필이다.
이로써, 폴더별로 서로 다른 Git 프로필을 적용할 수 있게 된다.
Git에 각 계정으로 접속할 수 있도록 SSH 설정을 진행한다.
ssh-keygen -t ed25519 -C "name@private.com" -f "id_ed25519-private"
ssh-keygen -t ed25519 -C "name@company.com" -f "id_ed25519-company"
위 명령어들로 각각 개인용, 회사용 키페어를 생성한다.
Host github.com
HostName github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519-company
Host github-private.com
HostName github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519-private
vim ~/.ssh/config로 vim 에디터를 열고 위와 같이 입력해준다.
Host는 원하는대로 입력해주면되고, IdentityFile은 위에서 만든 파일명으로 지정해주면 된다.
개인의 Git프로젝트와 회사의 Git프로젝트 모두 정상적으로 Clone이 된다면, 성공적으로 설정이 된 것이다.


각각은 동일한 git계정으로 개인용 프로젝트에서 커밋한 것과 회사용 프로젝트에서 커밋한 것이다.
동일한 계정이지만 서로 다른 이메일로 커밋이 남겨진 것을 확인할 수 있다.