Ch.20 Git 기초 — 코드의 타임머신
Git이 왜 필요한가?
AI가 코드를 망쳤다 어제 버전으로 돌아갈 수 있을까?
AI에게 "이 컴포넌트 리팩토링해줘"라고 했더니 멀쩡한 코드가 박살났습니다. 되돌리기(Ctrl+Z)로는 한계가 있습니다.
코드의 모든 변경 이력을 안전하게 보관할 수 없을까?
Git — 코드의 타임머신. 언제든 과거 버전으로 돌아갈 수 있습니다.
핵심 내용
파일명_최종_진짜최종.zip 이 비극을 끝냅시다
Git은 세 영역으로 나뉩니다 택배 보내기로 이해합시다
Working Directory: 작업 중인 폴더. 택배 비유: 물건을 고르는 중
Staging Area: git add한 파일. 택배 비유: 상자에 담은 상태
Repository: git commit한 파일. 택배 비유: 발송 완료!
파일을 수정하면 Working Directory에 있고, `git add`하면 Staging으로, `git commit`하면 Repository에 영구 저장됩니다.
# 현재 상태 확인
git status
# 출력 예시:
# Changes not staged for commit:
# modified: index.html ← Working Directory
#
# Changes to be committed:
# new file: style.css ← Staging Areagit status를 습관처럼 치세요. 지금 어떤 파일이 어떤 영역에 있는지 항상 확인합니다.
프로젝트를 시작하고 첫 커밋을 만들어봅시다
# 1. 프로젝트 폴더 생성
mkdir my-project
cd my-project
# 2. Git 저장소 초기화
git init
# → .git 폴더가 생성됨 (숨김 폴더)
# 3. 파일 생성
echo "<h1>Hello</h1>" > index.html
# 4. Staging에 추가
git add index.html
# 또는 모든 파일: git add .
# 5. 커밋 (영구 저장)
git commit -m "첫 커밋: index.html 생성"# 커밋 이력 확인
git log
# 출력 예시:
# commit a1b2c3d (HEAD -> main)
# Author: Kim <kim@example.com>
# Date: Mon Mar 10 14:30:00 2026
#
# 첫 커밋: index.html 생성
# 간략히 보기
git log --oneline
# a1b2c3d 첫 커밋: index.html 생성커밋 메시지는 '왜'를 적으세요 ❌ "수정함" ✅ "로그인 실패 시 에러 메시지 표시"
Git의 3영역 중 'git add'로 파일이 이동하는 곳은?
git init 명령어는 프로젝트당 한 번만 실행하면 된다.
다음 중 좋은 커밋 메시지는?
핵심 용어
누가
변경한 사람 (이름, 이메일)
언제
변경 시각 (타임스탬프)
무엇을
어떤 파일의 어떤 줄이 바뀌었는지
왜
커밋 메시지로 변경 이유 기록
정리 노트
Git이 왜 필요한가?
핵심 개념
- 버전 관리
- 코드의 변경 이력을 기록하고 언제든 되돌릴 수 있는 시스템
- Git 3영역
- Working → Staging → Repository — 수정 → 준비 → 저장
- git add
- 변경 파일을 스테이징 영역에 올리는 명령어
- git commit
- 스테이징된 변경을 영구 저장(스냅샷)하는 명령어
git add → git commit — 이 두 명령어가 Git의 기본 워크플로우입니다.
시각 자료
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작