Git config 차이점 설명
그냥 git config 와 –global 붙였을때의 차이가 뭐야?
git config 명령어에서 --global 옵션을 붙이느냐 안 붙이느냐의 차이는 설정 범위(scope)에 있습니다.
1. git config --global
-
사용자 전체(Global scope)에 설정됩니다.
-
사용자의 홈 디렉토리에 있는
~/.gitconfig파일에 저장됩니다. -
이 설정은 사용자가 작업하는 모든 Git 저장소에 공통 적용 됩니다.
예:
git config --global user.name "Alice"
git config --global user.email "alice@example.com"
→ 모든 저장소에서 기본적으로 이 이름과 이메일을 사용합니다.
2. git config (옵션 없이 사용)
-
로컬 저장소(Local scope)에 설정됩니다.
-
해당 Git 저장소 내부의
.git/config파일에 저장됩니다. -
이 설정은 현재 저장소에만 적용 되고, 다른 저장소에는 영향을 주지 않습니다.
예:
git config user.name "Bob"
git config user.email "bob@example.com"
→ 오직 현재 디렉토리의 Git 저장소에만 이 이름과 이메일이 적용됩니다.
요약하자면:
| 명령어 | 설정 범위 | 저장 위치 | 적용 대상 |
|---|---|---|---|
git config --global |
사용자 전체 | ~/.gitconfig |
모든 Git 저장소 |
git config |
현재 저장소 | .git/config |
현재 Git 저장소 |
참고로
-
이 외에도
--system이라는 옵션이 있는데, 이는 시스템 전체에 적용되는 설정입니다 (/etc/gitconfig). 일반 사용자가 건드릴 일은 거의 없습니다. -
우선순위는
system < global < local입니다. 즉, 로컬 설정이 글로벌 설정을 덮어씁니다.
의문 있으시면 더 질문 주세요.