OS별 Git 설치 방법과 처음 시작할 때 반드시 해야 하는 전역 설정을 익힌다. user.name, user.email, 기본 에디터, 줄바꿈 설정의 의미와 설정 파일 구조를 이해한다.
Git 설치
macOS
# Homebrew (권장)
brew install git
# 또는 Xcode Command Line Tools (자동 설치됨)
xcode-select --install
# 버전 확인
git --version # git version 2.x.x
Windows
# Git for Windows 공식 설치
# https://git-scm.com/download/win 에서 다운로드
# 설치 옵션 권장 설정:
# - Default editor: Visual Studio Code (또는 선호 에디터)
# - Initial branch name: main
# - PATH environment: Git from the command line and also from 3rd-party software
# - Line ending: Checkout Windows-style, commit Unix-style (CRLF → LF)
git --version # 설치 확인
Linux (Debian/Ubuntu)
sudo apt update
sudo apt install git
git --version
필수 초기 설정 — 처음 한 번만
Git은 커밋을 만들 때 작성자 정보를 기록합니다. 이 설정을 하지 않으면 첫 커밋 시 에러가 발생합니다. 전역 설정은 모든 저장소에 적용됩니다.
# 이름과 이메일 (커밋에 기록되는 작성자 정보)
git config --global user.name "Kim Chulsoo"
git config --global user.email "kim@example.com"
# 기본 브랜치 이름 (현재 업계 표준은 main)
git config --global init.defaultBranch main
# 기본 텍스트 에디터 (커밋 메시지 작성 등에 사용)
git config --global core.editor "code --wait" # VS Code
git config --global core.editor "vim" # Vim
git config --global core.editor "nano" # Nano (초보자 친화적)
줄바꿈 설정 — Windows 협업 시 필수
Windows는 줄바꿈을 CRLF(\r\n), macOS/Linux는 LF(\n)로 저장합니다. 혼용하면 팀원의 파일이 모두 변경된 것처럼 보이는 문제가 생깁니다.
# Windows
git config --global core.autocrlf true
# 체크아웃 시: LF → CRLF 변환 (Windows 편집기용)
# 커밋 시: CRLF → LF 변환 (저장소는 항상 LF)
# macOS / Linux
git config --global core.autocrlf input
# 체크아웃 시: 변환 없음
# 커밋 시: CRLF → LF 변환 (혹시 CRLF 섞였을 때만)
설정 확인과 파일 구조
# 전체 설정 목록 확인
git config --list
# 특정 설정 확인
git config user.name
git config user.email
# 설정 파일 직접 열기
git config --global --edit
설정은 세 단계로 적용되며, 좁은 범위가 넓은 범위를 덮어씁니다.
우선순위 (높음 → 낮음):
1. 로컬 (.git/config) — 현재 저장소만 적용
2. 전역 (~/.gitconfig) — 현재 사용자의 모든 저장소
3. 시스템 (/etc/gitconfig) — 시스템 전체 모든 사용자
# 로컬 설정 예시 (회사 저장소에서만 회사 이메일 사용)
git config --local user.email "work@company.com"
.gitconfig 파일 예시
# ~/.gitconfig 내용 예시
[user]
name = Kim Chulsoo
email = kim@example.com
[init]
defaultBranch = main
[core]
editor = code --wait
autocrlf = input
[alias]
st = status
co = checkout
br = branch
ci = commit
lg = log --oneline --graph --decorate --all
[pull]
rebase = false # merge 방식으로 pull (기본값, 권장)
유용한 alias 설정
# 자주 쓰는 명령어를 단축어로
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
# 한 줄 로그 그래프 (매우 유용!)
git config --global alias.lg "log --oneline --graph --decorate --all"
# 이후 사용법
git st # git status와 동일
git lg # 브랜치 구조를 ASCII 그래프로 시각화
GitHub 인증 설정 — Personal Access Token
GitHub은 2021년 8월부터 HTTPS 인증 시 비밀번호 대신 PAT(Personal Access Token)를 요구합니다.
PAT 발급 순서:
GitHub.com → Settings → Developer settings
→ Personal access tokens → Tokens (classic)
→ Generate new token
→ 권한: repo 체크 (최소한 이것만 있으면 됨)
→ Expiration 설정 후 Generate
# 이후 git push 시 username에 GitHub ID,
# password에 발급받은 토큰 입력
# macOS Keychain에 자동 저장 (한 번만 입력하면 됨)
git config --global credential.helper osxkeychain
# Windows Credential Manager
git config --global credential.helper manager
SSH 키 설정 (HTTPS 대신 사용 가능)
# SSH 키 생성
ssh-keygen -t ed25519 -C "kim@example.com"
# 경로와 passphrase 설정 (Enter로 기본값 사용 가능)
# 공개키 복사
# macOS
cat ~/.ssh/id_ed25519.pub | pbcopy
# Windows (Git Bash)
cat ~/.ssh/id_ed25519.pub | clip
# GitHub → Settings → SSH and GPG keys → New SSH key → 붙여넣기
# 연결 테스트
ssh -T git@github.com
# Hi username! You have successfully authenticated.
초기 설정은 번거로워 보이지만 한 번만 하면 됩니다. user.name과 user.email은 커밋 이력에 영구적으로 남으니 정확하게 설정하세요. 나중에 변경하면 기존 커밋은 변경되지 않습니다.
관련 검색어 · Git 설치 방법, git config 설정, core.autocrlf, Git SSH 키 설정, GitHub PAT 토큰, gitconfig 파일