어려운 게임 구간에 들어가기 전, 우리는 반사적으로 세이브를 합니다. 실패해도 그 지점으로 돌아오면 되니까요. 소프트웨어를 만드는 일에도 똑같은 안전장치가 있습니다. 바로 버전 관리(version control)입니다.
문제는 '망가지느냐'가 아니라 '언제 망가지느냐'입니다. 반드시 망가집니다. 그때 세이브포인트가 없다면, 잘 돌아가던 상태로 돌아갈 방법이 없어 며칠 혹은 몇 주치 작업이 통째로 날아갈 수 있습니다.
왜 체크포인트가 목숨을 구하나
버전 관리 없이 작업하다 프로젝트가 알 수 없는 이유로 뒤엉키면, 되돌릴 정상 시점이 없어 처음부터 다시 만들어야 할 수도 있습니다. 실제로 초보자가 가장 크게 좌절하는 순간이 바로 이것입니다. 반대로 자주 저장해 두면, 어떤 대형 사고도 '방금 그 세이브로 복귀'로 끝납니다.
버전 관리의 핵심 흐름
버전 관리의 핵심 흐름 — 저장하고, 되돌리고, 공유한다
- init (시작) 이 폴더에서 버전 관리를 시작
- 작업 (수정) 코드를 수정
- add (담기) 저장할 변경들을 한데 담음
- commit (저장점 찍기) 지금 상태를 메시지와 함께 저장 — 세이브포인트
- log (기록 보기) 지금까지의 저장 기록을 봄
- reset (되돌리기) 실수하면 이전 정상 시점으로 복귀 — 되감기
- push (올리기) 저장 기록을 인터넷 원격 저장소(☁)에 백업·공유 — 클라우드 업로드
명령어 이름을 외울 필요는 없습니다. '저장(commit) → 기록(log) → 되돌리기(reset) → 공유(push)'라는 흐름만 기억하세요.
| 개념(명령) | 무슨 일을 하나 | 게임에 비유하면 |
|---|---|---|
| init | 이 폴더에서 버전 관리를 시작한다 | 세이브 기능 켜기 |
| add | 저장할 변경들을 한데 담는다 | 저장할 항목 선택 |
| commit | 지금 상태를 메시지와 함께 저장 | 세이브포인트 찍기 |
| log | 지금까지의 저장 기록을 본다 | 세이브 목록 열기 |
| reset | 이전 정상 시점으로 되돌린다 | 그 세이브로 불러오기 |
| push | 저장 기록을 인터넷에 올린다 | 클라우드에 백업 |
자연어로 시키면 된다
좋은 소식은, 바이브 코딩에서는 이 흐름을 명령어로 외워 칠 필요조차 없다는 것입니다. AI에게 말로 부탁하면 됩니다.
프롬프트 — 버전 관리를 말로 시키기
지금까지 변경한 내용을 git으로 커밋해 줘. 커밋 메시지는 '로그인 화면 추가'로 해 줘.
그리고 원격 저장소의 main 브랜치로 푸시해 줘.
(문제가 생겼을 때)
방금 커밋 때문에 화면이 깨졌어. 바로 직전의 정상 커밋 상태로 되돌려 줘.
체크포인트는 '자주, 작게'가 원칙입니다. 큰 변경 하나를 몰아서 저장하기보다, 의미 있는 단위마다 커밋하세요. 특히 위험해 보이는 큰 변경을 AI에게 시키기 '직전'에 반드시 커밋해 두면, 결과가 마음에 안 들 때 즉시 되돌릴 수 있습니다.
이 레슨은 버전 관리가 '왜' 중요한지와 큰 흐름만 다뤘습니다. init·add·commit·branch·push 같은 명령을 손으로 다루는 법과 GitHub 협업까지 제대로 배우고 싶다면, 이 플랫폼의 별도 코스 '깃허브 입문(github-basics)'을 이어서 보세요. 바이브 코딩에 필요한 만큼은 이 레슨으로 충분합니다.
이제 안전장치를 갖췄으니 마음 놓고 부술 수 있습니다. 다음 레슨은 네 번째 손가락 '디버깅' — 무언가 깨졌을 때 당황하지 않고 체계적으로 원인을 찾아 고치는 방법입니다.