며칠 전에 학습 사이트를 처음 인터넷에 올렸어요. 그런데 그 다음부터 오히려 사이트에 손을 대기가 어려웠어요. 소개글 한 줄 고치려다가도 “이거 잘못 건드려서 화면이 깨지면 어쩌지” 싶어서 멈췄어요. 그래서 오늘은 반대로 갔어요. 일부러 망가뜨려보고, 되돌아오는지 눈으로 확인했어요.
배포는 했는데 이제 뭘 고치기가 무서운 분, 되돌리는 법을 몰라서 조심조심 건드리고 있는 분이라면 도움이 될 거예요.
왜 했나 (Before)
배포 전에는 마음이 편했어요. 제 컴퓨터에서만 뜨는 사이트였으니 뭘 해도 저만 봤거든요. 그런데 진짜 주소가 생긴 다음부터는 달랐어요. 고치면 그게 바로 인터넷에 반영되니까, 실수하면 남이 보는 화면이 깨져요.
문제는 겁이 나는 게 아니라 되돌리는 법을 몰랐다는 것이었어요. 되돌릴 수 있으면 겁낼 이유가 없어요. 그래서 순서를 이렇게 잡았어요. 먼저 지금 상태를 저장해두고, 그다음 일부러 망가뜨리고, 저장한 데로 돌아오는지 본다.
1단계 — 먼저 지금 상태를 저장해둔다
되돌리기는 “돌아갈 지점”이 있어야 되는 거라서, 저장부터 했어요. 학습메이트한테 이렇게 부탁했어요.
방금까지 작업한 걸 커밋으로 저장해줘. 나는 코딩을 몰라, 커밋이 뭔지
한 줄로 쉽게 설명하면서 해줘. 그리고 "뭘 저장했는지" 알아보기 쉬운
이름(메시지)도 네가 붙여줘.
커밋(commit) 은 지금 상태에 “여기까지 저장” 도장을 찍는 거예요. 게임 세이브포인트랑 같아요. 세이브해두면 죽어도 그 지점부터 다시 시작하잖아요.
저장하고 나니 기록이 이렇게 쌓여 있었어요.
79147b6 07/30 13:50 게시글 마감 산출물 추가 (DEVLOG + 외부 게시용 사례글)
92025aa 07/26 20:35 7월 26일 학습일지 + 첫 배포 사례글 추가
61e78a6 07/26 20:25 chore: .vercel 로컬 설정 폴더 gitignore 추가
10d2156 07/26 20:18 학습허브 사이트 + AI 학습메이트 '하루' 초기 세팅
날짜와 “뭘 했는지”가 한 줄씩 남아 있어요. 이렇게 쌓인 기록 전체를 버전관리라고 불러요. 이 중 어느 지점으로든 돌아갈 수 있어요.
여기서 처음 알게 된 게 있어요. 저장 안 된 파일에 붙는 표시가 두 종류예요.
?? 260726_DEVLOG.md ← git이 이 파일의 존재 자체를 모름
M src/content/landing/landing.md ← git이 원래 모습을 알고 있고, 지금 달라짐
되돌리기는 M에만 통해요. ??는 git이 원래 모습을 모르니 돌아갈 기준이 없어요. 커리큘럼이 커밋(1단계)을 되돌리기(2단계)보다 먼저 시킨 이유가 이거였어요. 순서에 이유가 있었어요.
2단계 — 일부러 망가뜨린다
이제 망가뜨릴 차례예요. 손이 좀 떨렸는데, 방금 저장해뒀으니 괜찮다고 스스로 달랬어요.
내 랜딩 소개글 첫 문장을 아무렇게나 바꿔서 살짝 망가뜨려줘.
바뀐 걸 로컬로 보여줘. (이건 되돌리기 연습이야, 걱정 마)
홈 화면 첫 문단이 이렇게 바뀌었어요.
ㅁㄴㅇㄹ 여기 아무렇게나 망가뜨린 문장입니다 asdf 123 ㅋㅋㅋ 이건 되돌리기 연습용.
git은 이 변화를 이렇게 보고 있었어요.
M src/content/landing/landing.md
1 file changed, 1 insertion(+), 1 deletion(-)
M 표시가 붙었어요. 아까 배운 대로, 이제 되돌릴 수 있는 상태예요.
실제로 홈 화면이 이렇게 됐어요.

3단계 — 되돌린다
방금 바꾼 걸 취소하고, 마지막으로 커밋한 상태로 되돌려줘.
그리고 원래대로 돌아왔는지 로컬로 보여줘.
되돌리는 데 쓴 명령은 딱 한 줄이었어요.
git restore src/content/landing/landing.md
새로고침하니 첫 문단이 원래 문장으로 돌아와 있었어요. 파일을 열어봐도 그대로였어요. 이게 오늘의 핵심이에요. 읽어서 아는 것과, 돌아오는 걸 직접 보는 건 달라요.
위의 망가진 화면과 같은 자리예요. 첫 문단만 원래대로 돌아왔어요.

막혔던 것 — “저장할 게 없다”는 말에 당황했어요
되돌린 다음에 커밋을 한 번 더 해보려고 했어요. 그런데 이런 답이 왔어요.
nothing to commit, working tree clean
처음엔 뭘 잘못했나 싶었어요. nothing이라는 단어가 부정적으로 읽혔거든요. 알고 보니 에러가 아니었어요. “저장할 게 없다”, 즉 이미 다 저장돼 있다는 뜻이었어요. 방금 되돌려서 커밋 지점과 한 글자도 다르지 않은 상태가 됐으니 당연한 결과였어요.
git은 아무 메시지도 안 나오는 게 가장 좋은 상태예요. 이걸 working tree clean, 작업 공간이 깨끗하다고 불러요. 처음엔 좀 낯설었어요.
하나 더 — 커밋했는데 아직 인터넷엔 안 올라갔어요
커밋한 다음 상태를 보니 ahead 1이라는 표시가 있었어요. 내 컴퓨터엔 저장이 4개인데 GitHub엔 3개, 즉 하나 앞서 있다는 뜻이에요.
- Git 은 내 컴퓨터에 세이브 도장을 찍는 기능이에요.
- GitHub 은 그 기록을 올려두는 인터넷 창고예요.
- 푸시(push) 는 창고에 올리는 거예요. 올리는 순간 배포 서비스가 사이트를 다시 만들어요.
커밋만 하고 푸시를 안 하면 사이트는 그대로예요. 되돌리기 연습을 사이트에 영향 없이 마음껏 할 수 있었던 이유가 이거예요. 되돌리기는 내 컴퓨터의 커밋만 보니까요.
뭐가 바뀌었나 (After)
겁이 줄었어요. 전에는 소개글 한 줄 고치는 것도 망설였는데, 이제는 먼저 커밋해두고 편하게 고쳐요. 잘못되면 한 줄로 돌아오면 되니까요.
그리고 AI에게 일을 맡기는 것도 편해졌어요. 커밋에는 누가 언제 무엇을 바꿨는지가 남아요. AI가 작업한 것도 똑같이 남아서, 마음에 안 들면 그 지점으로 되돌릴 수 있어요. 맡기고도 안심할 수 있는 근거가 생긴 셈이에요.
가져가세요 (재사용 자산)
프롬프트 3개 — 순서대로 넣으면 그대로 따라 할 수 있어요.
1) 방금까지 작업한 걸 커밋으로 저장해줘. 커밋이 뭔지 한 줄로 쉽게
설명하면서 해줘. "뭘 저장했는지" 알아보기 쉬운 이름도 붙여줘.
2) 내 랜딩 소개글 첫 문장을 아무렇게나 바꿔서 살짝 망가뜨려줘.
바뀐 걸 로컬로 보여줘.
3) 방금 바꾼 걸 취소하고, 마지막으로 커밋한 상태로 되돌려줘.
그리고 원래대로 돌아왔는지 로컬로 보여줘.
매일 쓰는 한 줄 — 뭔가 잘 됐다 싶을 때마다 이 한 줄이면 돼요. 앞으로 저장할 일이 생기면 매번 이렇게만 말해요.
오늘 여기까지 잘 된 것 같아. 커밋으로 저장해줘.
표시 읽는 법 — ??는 git이 모르는 새 파일이라 되돌릴 수 없고, M은 커밋된 파일이 수정된 상태라 되돌릴 수 있어요. 되돌리고 싶은 게 있으면 먼저 커밋됐는지 확인하세요.
순서를 지키세요 — 저장 → 망가뜨리기 → 되돌리기. 저장을 건너뛰면 돌아갈 지점이 없어요. 되돌리기가 안 될 때는 대개 커밋을 안 해둔 경우예요.