빠른 설정
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --local user.email "work@example.com"
git config --list --show-origin --show-scope설정 범위
Git 설정은 여러 scope에서 읽히고 더 가까운 값이 우선한다
Git 설정은 system, global, local, worktree, command scope에서 읽힐 수 있다. 일반적으로 전체 기본값은 global에 두고, 특정 저장소에서만 다른 값은 local에 둔다. 같은 key가 여러 곳에 있으면 더 구체적인 scope의 값이 실제 동작에 영향을 준다.
git config --global core.editor "code --wait"
git config --local user.email "team@example.com"identity는 commit 기록에 남으므로 저장소별 확인이 필요하다
user.name과 user.email은 commit 작성자 정보에 기록된다. 개인 프로젝트와 회사 프로젝트를 같은 머신에서 다룬다면 global email 하나만 쓰는 방식은 위험하다. 회사 저장소에서는 local scope로 업무용 email을 고정하고, commit 전에 git config user.email로 실제 적용 값을 확인한다.
--show-origin과 --show-scope로 출처를 먼저 본다
설정이 예상과 다르게 적용될 때는 값을 덮어쓰는 것보다 출처를 먼저 확인해야 한다. --show-origin은 어떤 파일에서 온 설정인지 보여 주고, --show-scope는 system/global/local/worktree/command 중 어느 범위인지 보여 준다. 이 확인 없이 global 값을 바꾸면 다른 저장소까지 영향을 줄 수 있다.
git config --list --show-origin --show-scope
git config get user.email --show-origin --show-scope일회성 설정은 -c로 명령에만 적용할 수 있다
특정 명령에만 설정을 적용해야 할 때는 config 파일을 바꾸지 않고 git -c key=value <command>를 쓸 수 있다. 스크립트, CI, 임시 안전 설정에는 이 방식이 적합하다. 반복적으로 필요한 설정이면 global이나 local로 명시하고, 일회성 override만 -c로 처리한다.
체크포인트
| 상황 | 선택 |
|---|---|
| 모든 저장소 기본 editor | --global |
| 특정 저장소 author email | --local |
| worktree별 설정 | --worktree |
| CI 명령 한 번만 설정 | git -c key=value ... |
| 설정 출처 확인 | --show-origin --show-scope |
공식 참고: git-config, Pro Git: First-Time Git Setup
주의할 점
user.email을 global에만 두면 개인 저장소와 회사 저장소의 commit identity가 섞일 수
있습니다. 저장소 성격이 다르면 local scope로 email을 고정하고, 커밋 전 실제 적용 값을
확인하는 습관이 안전합니다.
git config get user.email --show-origin --show-scope참고 링크
2 sources