변경 되돌리기
여러분의 안전망
⏱ 예상 ~8분
01 · 읽기
잘못 고쳤어요? 깃은 파일을 마지막 커밋 버전으로 되돌릴 수 있어요. 안전망 같은 거예요 — 최근에 커밋만 해 뒀다면 언제든 좋았던 상태로 돌아갈 수 있어요.
💡 상상해 봐요git checkout --은 파일 전체에 대한 Ctrl+Z라고 생각하세요. 글의 절반을 실수로 지웠다면, 마지막으로 찍은 사진(커밋)에서 살려 낼 수 있어요. 핵심은: 전에 저장해 둔 것만 되돌릴 수 있다는 거예요.
핵심 정리
- git checkout -- filename은 파일을 마지막 커밋 시점 상태로 되돌려요
- 그 파일에서 아직 커밋되지 않은 모든 변경은 버려져요 — 영원히 사라져요
- 그래서 자주 커밋하는 게 중요해요: 커밋이 많을수록 = 되돌릴 지점이 많아요
02 · 터미널 실습
먼저 깃 리포지토리를 만들어서, 안전망을 쓸 수 있게 해요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
03 · 터미널 실습
파일을 스테이지해요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
04 · 터미널 실습
이 동작하는 버전을 커밋해요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
05 · 퀴즈
왜 자주 커밋하는 게 좋은 습관일까요?
- 깃이 한 시간에 최소 한 번 커밋하라고 요구해요
- 커밋이 많을수록 = 일이 생겼을 때 되돌릴 지점이 많아요
- 리포지토리 크기를 줄여 줘요
- git diff를 쓰려면 먼저 커밋해야 해요
06 · 터미널 실습
큰일 났어요! 실수로 파일 전체를 쓰레기로 덮어써 버렸어요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
07 · 터미널 실습
직접 그 참사를 한번 봐요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
08 · 터미널 실습
git checkout을 써서 파일을 마지막 커밋 버전으로 되돌려요. --는 깃에게 브랜치가 아니라 파일을 가리키고 있다고 알려 줘요.
(이 섹션은 인터랙티브해요 — JavaScript를 켜 주세요.)
09 · 퀴즈
app.js의 중요한 코드를 실수로 지웠는데, 아직 커밋하지 않았어요. git checkout -- app.js를 실행하면 어떻게 될까요?
- app.js라는 새 브랜치를 만들어요
- app.js를 영구적으로 삭제해요
- app.js를 마지막 커밋 버전으로 되돌려요
- app.js에서 무엇이 바뀌었는지 diff를 보여 줘요
⚠ 전체 인터랙티브 경험에는 JavaScript가 필요해요. JavaScript를 켜고 새로 고침해 주세요.
※ 이 사이트는 독립 운영되는 교육 프로젝트로, Anthropic의 공식 제품이 아니에요. Claude™ 는 Anthropic, PBC 의 상표예요.