git config의 범위 | --global

2025. 1. 22. 00:35Backend/Git, GitHub

git config --global user.email "global@example.com"

--global의 의미

  •  git config 명령어에서 설정의 범위(scope)를 정해주는 옵션
  • 이 옵션을 사용하면, 해당 설정이 모든 깃 프로젝트(레포지토리)에 공통적으로 적용된다 
  • 즉, 컴퓨터 사용자 계정에 저장되는 전역 설정(global configuration) 
  • 보통 사용자 이름(user.name)과 이메일(user.email) 같은 사용자 정보 설정에 사용된다

 

다른 설정 범위

깃은 총 3가지 설정 범위를 제공한다:

  1. --local (기본값)
    • 특정 프로젝트(레포지토리)에만 적용
    • 설정 정보는 해당 레포지토리 폴더 안의 .git/config 파일에 저장
  2. --global
    • 네 컴퓨터에서 모든 레포지토리에 적용
    • 설정 정보는 사용자 계정의 전역 설정 파일(~/.gitconfig)에 저장
  3. --system
    • 시스템 전체에 적용 (모든 사용자 계정과 레포지토리)
    • 설정 정보는 시스템 설정 파일(/etc/gitconfig)에 저장

 

설정 우선순위

깃은 설정이 겹칠 때 우선순위를 따져서 적용한다:

  1. --local (가장 우선)
  2. --global
  3. --system (가장 낮음)

즉, 한 레포지토리에 --local 설정이 있으면, --global 설정은 무시된다.
예를 들어:

  • --local: user.email = local@example.com
  • --global: user.email = global@example.com

→ 해당 레포지토리에서는 local@example.com이 적용된다.

 

왜 --global을 많이 쓰는 걸까?

  • 사용자 정보(user.name, user.email)는 거의 모든 프로젝트에서 공통으로 사용되기 때문이다.
  • 한 번만 설정하면 여러 프로젝트에서 따로 설정할 필요가 없어서 편리하다.

결론

  • --global은 모든 레포지토리에 공통으로 적용되는 전역 설정을 의미한다. 
  • 설정 정보는 네 컴퓨터의 ~/.gitconfig 파일에 저장되고, 다른 설정(--local이나 --system)이 우선하지 않는 한 기본으로 사용된다.