topic★★★★★난이도 · 약 25분
Git — 코드의 타임머신
git init → add → commit → push. 버전 관리의 핵심 흐름과 브랜치 개념.
#Git#GitHub#버전관리#브랜치#커밋
왜 배우는가
코드를 잘못 고쳐서 프로젝트가 망가졌을 때, Git이 있으면 과거로 되돌릴 수 있다. Claude Code도 Git 위에서 작업하므로, 기본 흐름을 모르면 AI의 변경 사항을 관리할 수 없다.
Git은 코드의 타임머신이다. 매번 `commit`을 남기면 그 시점의 코드 상태가 스냅샷으로 저장된다. 나중에 언제든 그 시점으로 되돌아갈 수 있다.
| 명령어 | 비유 | 설명 |
|---|---|---|
| `git init` | 타임머신 설치 | 현재 폴더를 Git 저장소로 만든다 |
| `git add .` | 사진 찍을 포즈 잡기 | 변경된 파일을 스테이징 영역에 올린다 |
| `git commit -m "메시지"` | 사진 찍기(스냅샷) | 스테이징된 변경 사항을 영구 기록한다 |
| `git push` | 클라우드에 백업 | 로컬 커밋을 GitHub 원격 저장소에 올린다 |
| `git pull` | 클라우드에서 받기 | 원격의 최신 변경 사항을 내려받는다 |
| `git log` | 사진 앨범 보기 | 커밋 히스토리를 확인한다 |
bash
# Git 기본 워크플로우 — 4단계로 끝!
# 1. 프로젝트를 Git 저장소로 초기화
git init
# 2. 변경된 파일을 스테이징
git add .
# 3. 스냅샷(커밋) 남기기 — 메시지는 "무엇을 왜 바꿨는지"
git commit -m "feat: 로그인 버튼 추가"
# 4. GitHub에 올리기
git push origin main이 4단계가 Git의 핵심 루프다. Claude Code가 코드를 수정한 뒤 직접 커밋을 만들기도 하는데, 이 흐름을 알아야 히스토리를 관리할 수 있다.
브랜치(Branch)는 평행 우주다. `main` 브랜치는 안정 버전, 새 기능은 별도 브랜치에서 개발한 뒤 완성되면 합친다(merge). 이러면 실험하다 망가져도 `main`은 무사하다.
bash
# 브랜치 생성과 병합
# 새 브랜치 만들고 이동
git checkout -b feature/login-page
# 작업 후 커밋
git add .
git commit -m "feat: 로그인 페이지 UI 구현"
# main으로 돌아가서 병합
git checkout main
git merge feature/login-pageClaude Code에서 큰 변경을 시도할 때 새 브랜치를 만들어두면, 실패해도 main 브랜치로 돌아가면 된다. 안전망 역할을 한다.
GitHub은 Git 저장소를 인터넷에 올려두는 서비스다. 코드 백업, 협업, 포트폴리오 공유에 사용한다. Vercel 같은 배포 서비스는 GitHub에 push하면 자동으로 웹사이트를 배포해 준다.