Git을 처음 설치한 뒤 대충 이름과 이메일만 넣고 시작하면, 나중에 회사 프로젝트에 개인 이메일로 커밋이 남거나, Windows와 Mac 개발자 간에 줄바꿈(CRLF) 충돌이 일어나 파일 전체가 변경된 것으로 잡히는 고통을 겪게 됩니다. 이 문서는 첫 세팅부터 실무 트러블을 원천 차단하는 필수 설정을 다룹니다.
1. 필수 기본 사용자 정보 등록
Git의 모든 커밋에는 작성자의 이름과 이메일이 영구히 박제됩니다. 커밋을 만들기 전에 반드시 등록해야 합니다.
# 전역(Global) 사용자 이름 및 이메일 설정
git config --global user.name "Gildong Hong"
git config --global user.email "[email protected]"
# 기본 브랜치명을 master가 아닌 최신 표준인 'main'으로 설정
git config --global init.defaultBranch main
# 기본 에디터를 VS Code로 지정 (커밋 메시지 및 rebase 편집 시 사용)
git config --global core.editor "code --wait"2. 실무 필수: OS 간 줄바꿈(CRLF vs LF) 충돌 방지
Windows는 줄바꿈 문자로 CRLF(\r\n)를 쓰고, Mac과 Linux는 LF(\n)를 씁니다. 설정하지 않으면 팀원이 코드를 한 줄만 고쳤는데도 줄바꿈 형식 차이 때문에 파일 전체가 수정된 것으로 잡히는 대형 diff 사고가 발생합니다.
# Windows 환경 사용자 (체크아웃 시 CRLF로 변환, 커밋 시 LF로 저장)
git config --global core.autocrlf true
# Mac / Linux 환경 사용자 (커밋 시 혹시 섞여 들어간 CRLF를 LF로 자동 변환)
git config --global core.autocrlf input3. 실무 고급 팁: 회사용 vs 개인용 계정 분리 (includeIf)
하나의 노트북으로 회사 업무 레포지토리와 개인 사이드 프로젝트(GitHub 개인 계정)를 함께 다루는 개발자에게 가장 추천하는 설정입니다.
폴더 구조 분리
C:/Users/username/Projects/
├── company/ (회사 프로젝트 폴더)
└── personal/ (개인 사이드 프로젝트 폴더)~/.gitconfig 설정 파일 수정
홈 디렉토리의 .gitconfig 파일에 디렉토리별 조건부 분기 설정을 추가합니다.
# 기본 전역 설정 (개인 계정)
[user]
name = PersonalNick
email = [email protected]
# company 폴더 안의 프로젝트에서는 회사 설정 파일로 덮어쓰기
[includeIf "gitdir:~/Projects/company/"]
path = ~/.gitconfig-company그리고 ~/.gitconfig-company 파일을 생성하여 회사 정보만 따로 적어줍니다:
[user]
name = Gildong Hong
email = [email protected]이렇게 설정하면 company 폴더 안에서 작업할 때는 자동으로 회사 이메일로 커밋되고, 밖에서는 개인 이메일로 커밋되어 실수를 완벽히 방지합니다.
4. 현재 설정값 확인 및 검증
# 현재 적용된 전체 설정 목록과 설정 출처 파일 확인
git config --list --show-origin
# 특정 항목만 조회
git config user.name
git config user.email