기능
- 설정을 변경하거나 조회한다.
- 설정은 지정한 범위에 해당하는 특정 경로의 파일에 저장된다.
설정 범위
git config
명령어와 설정명/옵션 사이에 설정을 조작할 범위를 지정한다.
- 명시하지 않으면 기본 값은
--local
--local # 로컬 리포지토리
--global # 사용자
--system # 시스템(컴퓨터)
config 파일 저장 경로
[1] Windows
리포지토리 루트/.git/config # Local
C:/Users/%username%/.gitconfig # Global
C:/Program Files/Git/etc/gitconfig # System
[2] Linux
리포지토리 루트/.git/config # Local
~/.gitconfig # Global
/etc/gitconfig # System
설정 확인/변경/제거
# 확인
git config [--local|global|system] --get {설정명}
# 변경(등록)
git config [--local|global|system] {설정명} {설정값}
# 제거
git config [--local|global|system] --unset {설정명}
전체 또는 이름 패턴으로 목록 확인
# 전체 목록
git config --list
git config -l
# 정규식 매칭
git config --get-regexp "pull" # "pull"을 포함
git config --get-regexp "^pull" # "pull"로 시작
git config --get-regexp "pull$" # "pull"로 끝남
git config --get-regexp "^pull$" # "pull"과 정확히 일치
# 부정 패턴 매칭(외부 쉘 명령어 함께 사용 필요)
git config --list | grep -v "^alias" # bash
**git config --list | findstr /V "^alias\\." # Windows CMD
git config --list |** Where-Object { $_ -notmatch '^alias\\.' } # Windows Powershell
필수 설정
git config --global user.name "이름"
git config --global user.email "[email protected]"
Windows 권장 설정
git config --global core.editor "C:/windows/system32/notepad.exe"
# git config --global core.editor "code --wait" # vscode
# git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin" # Notepad++
git config --global status.showuntrackedfiles all
git config --global pull.rebase false # false: 협업 시 유용함: 리베이스 대신 머지 커밋 생성
git config --global color.ui auto # 터미널에서 여러 색상이 지원될 경우, 자동 사용
git config --global push.default simple # simple: 현재 브랜치에서 같은 리모트 브랜치에만 푸시
git config --global core.autocrlf true # true: Windows 환경에 맞게 개행문자 변경
git config --global core.fileMode false # false: 파일 권한 변경 무시
git config --global core.whitespace cr-at-eol # cr-at-eol" Git diff시 ^M 문자 발생 방지
git config --global credential.helper manager # manager: Windows 전용 인증 관리 도구
git config --global core.quotepath false # false: 아스키코드에 속하지 않은 문자를 UTF-8로 표시(git status 했을 때 한글 제대로 표시)
# git config --global core.safecrlf false # LF/CRLF 관련 경고가 뜨지 않게 함 (종류: true/warn/false)
# git config --global core.ignoreCase false # 파일 대소문자 구분 필요한 경우 설정(기본값 true)
# git config --global core.longpaths true # 경로 길이 제한 해제 필요 시 설정
# git config --global http.sslVerify true # SECURITY WARNING: TLS certificate verification has been disabled 경고가 계속 뜨는 경우 설정