GN⁺: 내 Git 아이덴티티 설정 방법
(benji.dog)내 Git 정체성을 설정하는 방법
-
소개: 이 글은 Git 설정을 통해 작업 환경에 맞는 정체성을 관리하는 방법을 설명함. 필자는
includeIf
를 사용하여 특정 조건에 따라 파일을 포함하는 방법을 발견했음. -
Git 설정:
-
includeIf
를 사용하여 특정 디렉토리에 따라 다른 Git 설정 파일을 포함할 수 있음. - 예를 들어,
~/code
아래의 Git 디렉토리에는~/.config/git/personal
을,~/work
아래에는~/.config/git/work
을 포함하도록 설정할 수 있음. - 각 파일에는 사용자 이름, 이메일, 서명 키 등의 정보가 포함됨.
-
-
리모트 URL 기반 설정:
-
hasconfig:remote.*.url
을 사용하여 특정 리모트 URL이 존재할 때 Git 설정을 조건부로 구성할 수 있음. - 예를 들어,
github.com:orgname/**
와 같은 리모트가 있는 디렉토리에서는~/.config/git/config-gh-org
을 사용하도록 설정할 수 있음.
-
-
SSH 키 설정:
- SSH 키를 설정하여 리모트에
pull
및push
를 할 수 있도록 해야 함. -
~/.ssh/config
파일에서Host
와IdentityFile
을 설정하여 각 리모트에 맞는 SSH 키를 사용할 수 있음. - 같은
Hostname
에 대해 다른IdentityFile
을 사용하려면Host
값을 다르게 설정해야 함.
- SSH 키를 설정하여 리모트에
-
Git config에서 SSH 설정 사용:
- 특정 리포지토리에 대해 다른 SSH 설정을 사용하려면 Git config에서
insteadOf
를 사용하여 URL을 대체할 수 있음. - 예를 들어,
github.com:orgname
대신gh-work:orgname
을 사용하여 올바른 SSH 설정을 적용할 수 있음.
- 특정 리포지토리에 대해 다른 SSH 설정을 사용하려면 Git config에서
-
고려사항:
- 이 접근 방식에 문제가 있을 수 있으며, 더 나은 방법이 있는지에 대한 피드백을 받고 싶음.
참고 자료
- 여러 Git 정체성을 관리하는 방법에 대한 다양한 블로그 글을 참고함.
Hacker News 의견
-
gh-work
라는 이름을 사용하여 SSH 및 Git 신원을 구분하는 방법을 설명함.gh-work
로 클론한 모든 Git 저장소는gh-work.inc
의 설정을 따르게 되어 SSH 구성과 동일한 서명 키를 사용함 -
한 스타트업에서 일할 때, 매일 신원을 동화 같은 이름으로 바꾸는 동료가 있었음. 이는 버전 관리 포렌식에 도움이 되지 않았지만, 신원 구성에 무엇이든 넣을 수 있다는 점을 상기시키려는 의도였을 수 있음
-
.gitconfig
에 신원에 대한 별칭을 추가하여, 저장소를 초기화하거나 클론한 후git config-company
또는git config-personal
명령어를 실행하는 방법을 제안함 -
~/.ssh/config
를 수정할 필요 없이,~/.gitconfig
에 SSH 명령어를 설정하여 서브모듈을 쉽게 관리할 수 있는 방법을 설명함 -
includeIf
와hasconfig:remote
를 사용하여 디렉토리별로 Git 설정을 관리하는 방법을 소개함. 이는 저장소를 클론할 때도 유용함 -
컨설턴트에게는 업무용으로 별도의 기기나 최소한 별도의 OS 사용자를 사용할 것을 강력히 권장함. 개인 기기를 업무에 사용하는 것은 위험할 수 있음
-
NixOS와 home-manager를 사용하여 Git 설정을 관리하는 방법을 설명함.
hasconfig:remote
조건을 사용하여 특정 이메일을 설정함 -
SSH 복잡성을
~/.ssh
에 유지하고, 고객이나 프로젝트별로 별도의 설정을 포함하는 방법을 설명함. GitHub와 같은 호스트 이름이 없는 경우에는 별칭을 할당함 -
gitdir
을 사용하여 업무와 개인 작업을 분리하는 방법을 설명함.hasconfig:remote
는 게임 체인저임 -
업무와 개인 저장소를
~/dev
와~/src
로 분리하여 관리하는 방법을 설명함. 각 경로에 따라 다른 Git 설정 파일을 포함함 -
개인 및 업무용
.gitconfig
파일을 설정하여 이메일과 서명 키를 다르게 설정하는 방법을 설명함. GPG 서명을 활성화하여 커밋에 서명함