2강

Git 설치와 설정

4 조회 3

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 파일

채용정보
공지사항
인사이트
MY