[Git] 레포지토리 별 user 이름 변경하기
2023. 3. 19. 01:25악악악 개발은 못하고 이거 삽질로 한시간을 날린 것을 잊어먹지 않게... 작성해둔다.
토이프로젝트에 사용하는 개인 git 계정과 회사용 git 계정을 레포지토리 별로 설정해주고 싶었다.
!!!! Mac OS 기준 !!!!
이 .gitconfig라는 파일을 수정하여서 변경해야한다. 기본적인 원리는 어렵지 않다. gitconfig 파일이 전역적인 설정관리를 하는데, 오늘 이용할 includeIf 것은 특정 조건에 맞는 레포지토리는 별도의 설정 파일 (이하 my-config 파일)로 대체해주는 좋은 기능이다! 우리가 해야할 일은 세가지이다.
1. 나만의 설정파일 만들기 (.my-config)
2. 그 설정파일을 잘 세팅해주기 (.gitconfig)
3. 잘되었나 확인해보자
1. 나만의 설정파일 만들기
어느위치에 해도 무관하나 왠만하면 .gitconfig와 같은곳에 해주자. 관리가 편하게.
나처럼 같은 위치에 설정하려면, 터미널 명령은 다음과 같다.
nano ~/.my-config
작성을 완료하면, control + x 후 Y를 눌러 저장하자.
2. 그 설정파일 잘 세팅하기
git config --global --edit
를 터미널에 적으면 위치를 몰라도 수정이 가능하지만 터미널에서 수정이 능숙한 사람이길 바란다. /Users/user 위치에 일반적으로 있으니 숨김파일을 켜서 확인해보면 요로코롬 숨어져있다. 이걸 더블클릭하면 문서편집기에서도 수정이 가능하다.
.gitconfig 파일을 살펴보면 아래와 같다
[includeIf "gitdir:/path/to/repository/A/"] // 맨 마지막 / 꼭!!! 붙여주기 이걸로 시간 낭비함ㅋㅋ
path = .my-config
includeIf는 말그대로 조건이다. 해당조건에 맞는 레포지토리는 아래의 설정으로 바꾼다는 의미이다. 그래서 우리는 gitdir인, 레포지토리 경로를 기준으로 해준다는 의미다. 특정 레포 딱 1개만 하고 싶으면 예시에 쓴것처럼 구구절절 적어도 괜찮지만, 내가 모자이크 해둔 사진처럼 "gitdir:~/MyName/"으로 하면 MyName 하위의 모든 폴더를 의미한다. 예를들어, Personal 폴더와 Company 폴더로 해둔 사람이면 includeIf 항목을 두개로 만들어줘서 각각 추가해주면 된다.
[includeIf "gitdir:~/Company"]
path = .com-config
[includeIf "gitdir:~/Personal"]
path = .my-config
이런식으로..!
path에는 1에서 만든 파일의 경로를 넣어주면된다. 자신만의 위치에 파일을 만든사람이면 그 경로 넣으면되고, 나같이 .config와 같은경로면 저렇게 파일명만 넣어도된다.
3. 잘되었나 확인해보자
터미널을 열고, 확인하고 싶은 레파지토리의 경로로 바꾼다. 그 뒤 아래의 명령어를 쳐보면 이름과 이메일을 확인할 수 있다. (이걸몰라서 계속 커밋하고 삭제하고 노가다 했네 --)
git config --show-origin --get user.email
(base) user@***** $$$$$$$$$ % git config --show-origin --get user.email
file:/Users/user/.gitconfig-personal &&&&&&@gmail.com
^어떤 config를 사용했는지 보여줌
원하는 메일이 뜬다면 완료~!!
만약 아무 다른 폴더로 하면 전역의 이름 이메일이 뜰것이다. (왜냐면 조건을 안달아준 폴더일테니) 후 오늘도 뻘짓 1시간 블로그 작성 1시간 도합 2시간을 날리고 작업한다 ^.T...
'학문 > 문제해결의 실마리' 카테고리의 다른 글
[Unity] Model Importer 사용기 (0) | 2023.02.13 |
---|---|
[Unity] Nuget에서 받은 패키지 유니티 프로젝트에 적용하기 (1) | 2022.06.10 |
[Unity] password input field 에 대한 고찰 (IME 사용법) (8) | 2022.02.24 |
[Unity] gameObject 가 꺼지더라도 애니메이션이 유지되도록 (0) | 2022.02.14 |
[Unity] Text Mesh Pro 에서 텍스쳐를 읽지 못한 경우 (0) | 2021.12.14 |