프로젝트별 git commit 계정 분리하기

겔로그·2022년 9월 30일
0

기타

목록 보기
3/12
post-thumbnail

개요

오늘은 프로젝트별 계정 권한을 분리하는 방법을 공유해볼 것입니다. 최근 열심히 공부해 공부한 내용을 git에 정리하려고 하는데 뭔가 이상했습니다..

왜 커밋이 안되는거지.. 잔디밭을 예쁘게 꾸미고 싶은데... git fork를 보니 다음과 같았습니다.

지금까지.. 다 다른 계정으로 push가 된 것이었었네요... gelog를 하면서 진행한 모든 내용들은 gelloger로 push를 해서 기록을 남기려 했는데 벌써 계획이 무산되었습니다.

그럼 어떻게 해야 제가 원하는 바람대로 gelloger로 push가 가능할까요..?

Git Fork 설치 및 계정 연동

설치부터 시작하시는 분들은 Git-Fork-설치-및-프로젝트-생성하기를 먼저 참고해시면 감사하겠습니다.

저는 Git Fork를 이용하는데 가장 먼저 계정을 등록하시고 personal access token을 발급 받습니다.

Generate personal access token

+ 버튼을 누르고 들어가면 다음과 같이 Authentication Type이라는 문구가 있는데 해당 부분은 하단의 Personal Access Tokens를 클릭해 들어가 Personal access token을 생성한다.

하단에 나오는 scope를 설정하여 해당 access token을 발급받은 사용자가 어느 범위까지 해당 프로젝트를 이용할 수 있는가를 정의할 수 있다. 우리는 admin이고 어떤 기능을 사용할지 모르니 전부 체크하고 이용하자.

이제 access token이 발급받아졌을 것이고 이를 복사하여 git fork에 붙여넣어주자.

GitConfig 설정

먼저 해당 명령어를 써볼까요? 다들 어떻게 나오시나요? 저는 다음과 같이 나옵니다.

git config --global user.name
git config --global user.email

명령어 결과

commit 메세지간 작성자

~/.gitconfig 설정값이 global로 적용되기 때문에 push시에 회사 계정으로 커밋이 되는 것이었습니다! 따라서 우리는 gitconfig 문서를 일부 수정해야만 gelloger로 커밋이 가능합니다.

하지만 회사 프로젝트는 회사 계정으로, 개인 프로젝트는 gelloger로 커밋을 해야 되는데 매번 global을 수정하기엔 너무나도 귀찮습니다.. 그렇기 때문에 방법을 물색했고 답을 찾았습니다.

프로젝트별 git commit 계정 분리

1. iterms를 통해 gitconfig 문서에 접근합니다.

vi ~/.gitconfig

2. includeIf [프로젝트 경로]로 분리를 진행합니다.

여기서 path는 해당 path에 gitconfig 파일을 덮어씌울 문서를 의미합니다. 따라서 .gitconfig-work를 생성해줍니다.

3. path에 작성한 경로에 문서 작성

앞서 git fork에서 등록한 계정을 다음과 같이 작성해줍니다.
작성해준 내용으로 gitconfig 파일이 덮어씌워지며 결과는 다음과 같습니다.

4. commit 및 push 확인

아름답군요. 이상으로 프로젝트별로 git commit 계정을 분리하는 방법 공유를 마칩니다. 감사합니다.

Reference

https://git-scm.com/docs/git-config#_includes

profile
Gelog 나쁜 것만 드려요~

0개의 댓글