Git은 개발 실력이 아니다. AI에게 코드를 통째로 맡기는 시대의 보험이다. 배우는 건 개발이 아니라 안전벨트 매는 법이다.
이 글 3줄 요약
- Git은 지금 상태를 통째로 저장해두고 언제든 그 지점으로 되돌아가게 해주는 도구다. 게임의 세이브 버튼과 똑같다.
- AI가 코드를 왕창 고쳐서 다 망가져도, 손대기 전에 저장(커밋)만 해뒀다면 1분이면 복구된다. 이게 Git이 주는 진짜 힘이다.
- 알아야 할 건 커밋(저장)·되돌리기·브랜치(실험)·GitHub(금고) 네 가지뿐. 명령어는 AI가 대신 쳐준다. 여러분은 '언제 저장을 누르는가'만 알면 된다.
이 글은 개발 지식이 하나도 없는 사람을 위한 'AI 바이브코딩 강의 12부작 시리즈'의 3편이다. 처음 오셨다면 1편부터 보면 흐름이 매끄럽다.
오늘의 질문 — "AI가 다 망쳤는데, 되돌릴 수 있나요?"
바이브코딩(코드를 직접 짜지 않고 AI에게 말로 시켜 프로그램을 만드는 방식)을 하다 보면 반드시 만나는 순간이 있다. AI에게 "이 기능 좀 크게 고쳐줘"라고 했더니, 코드를 왕창 헤집어서 화면이 다 깨지는 순간이다. 이때 머릿속에 떠오르는 질문은 하나다.
"이거… 되돌릴 수 있나요?"
답은 "네, 1분이면 됩니다"이다. 단, 한 가지 조건이 붙는다. AI가 손대기 전에 '저장'을 해뒀어야 한다. 그 저장 버튼의 이름이 바로 Git이다.
여기서 오해를 하나 풀고 가자. 우리는 지금 개발을 배우는 게 아니다. 자동차를 몰기 전에 안전벨트 매는 법을 배우는 것과 같다. 벨트를 맬 줄 안다고 정비사가 되는 게 아니듯, Git을 쓸 줄 안다고 개발자가 되는 건 아니다. 그저 사고가 나도 다치지 않게 해주는 장치일 뿐이다.
Git이 하는 일은 딱 네 가지
Git은 이름도 낯설고 명령어도 수십 개라 어려워 보인다. 하지만 우리가 실제로 이해해야 할 건 딱 네 칸이다.
| 이름 | 하는 일 | 한마디로 |
|---|---|---|
| 커밋 (저장) | 지금 상태에 도장을 찍는다 | "여기까지 됐다" 세이브 버튼 |
| 되돌리기 | 저장해둔 지점으로 돌아간다 | 망해도 1분이면 복구 |
| 브랜치 (실험) | 원본은 두고 복사본에서 실험한다 | 평행우주에서 마음껏 부수기 |
| GitHub (금고) | 인터넷 금고에 사본을 백업한다 | PC가 죽어도 코드는 산다 |
이 네 칸만 이해하면 된다. 나머지는 AI가 대신 쳐준다. 여러분이 알아야 할 건 오직 "언제 저장을 눌러야 하는가"뿐이다. 이제 하나씩 일상어로 풀어보자.
커밋 = 게임의 '세이브' 버튼
커밋(commit, 지금까지 만든 걸 한 덩어리로 저장하는 것)은 게임의 세이브와 똑같다. 보스전 직전에 세이브를 누르듯, 위험한 작업 직전에 커밋을 찍는다. 그러면 언제든 이 지점으로 돌아올 수 있는 안전지대가 하나 생긴다.
세이브를 찍을 때마다 이름표를 붙인다는 점도 중요하다. "예약 기능 추가함"처럼 한 줄짜리 메모를 남기는데, 이걸 커밋 메시지라고 부른다. 나중에 "어느 지점으로 돌아갈까?"를 고를 때, 이 메모가 이정표 역할을 한다. 메모가 없으면 어느 세이브가 어느 시점이었는지 알 수가 없다.
게임과 다른 점이 하나 있다. 저장이 무한이고, 게다가 공짜다. 하루에 열 번을 찍어도 된다. "위험한 일 하기 전엔 무조건 한 번" — 이 습관 하나가 세상에서 가장 값싼 보험이다.
되돌리기 — 오늘의 진짜 핵심
여기가 오늘의 핵심이다. 똑같은 사고가 나도, 커밋을 해뒀느냐 아니냐에 따라 결말이 완전히 갈린다.
커밋 안 하고 작업했다면 — AI가 파일 20개를 헤집어 화면이 다 깨졌다. 그런데 어디가 원본이었는지 아무 기록이 없다. 되돌릴 지점 자체가 없으니 처음부터 다시 해야 한다. 반나절이 그냥 날아간다. 그래서 겁이 나서 AI에게 큰일을 못 시키게 된다.
커밋 해두고 작업했다면 — 명령어 한 줄(git reset)로 마지막 세이브 지점으로 복귀한다. 방금 전까지 멀쩡하던 상태로 1분 만에 되돌아간다.
이 차이가 만드는 진짜 효과는 심리적인 것이다. "망해도 복구된다"를 머리가 아니라 몸으로 아는 순간, AI에게 과감하게 시킬 수 있게 된다. 겁이 없어진다. 이게 Git이 주는 진짜 힘이다. AI가 코드를 왕창 고치기 전에 커밋 = 안전벨트 착용. 사고가 나도 다치지 않는다.
브랜치 = 원본을 지키는 '평행우주 실험실'
브랜치(branch, 갈라진 가지)는 원본을 복사해서 만든 딴 세계다. 잘 돌아가는 메인 세계는 그대로 두고, 복사본 세계에서만 실험한다. 여기서 뭘 부수든 메인은 흠집 하나 나지 않는다.
실험이 성공하면 메인에 합치고(이걸 머지라고 부른다), 실패하면 그 세계만 통째로 버린다. 평행우주가 마음에 안 들면 폐기하면 끝이다. 원본은 처음부터 아무 일도 없었던 것처럼 멀쩡하다.
그래서 AI에게 "새 기능을 실험해봐"라고 시킬 땐 브랜치부터 만드는 게 좋다. 예를 들어 "결제 기능을 붙여보자"라고 하면, 먼저 '결제-실험'이라는 브랜치를 만든 뒤 거기서 시킨다. 그러면 실험이 다 뒤집혀도 손님이 실제로 쓰는 메인 서비스는 멀쩡히 돌아간다. 원본 걱정이 0이 된다.
GitHub = 코드를 맡기는 '인터넷 은행 금고'
지금까지의 커밋·되돌리기·브랜치는 전부 내 컴퓨터 안에서 벌어지는 일이다. GitHub는 그 코드를 인터넷 금고에 맡기는 서비스다. 커밋한 걸 '푸시(push)'하면 인터넷 금고로 올라간다. 그러면 내 PC에 원본, GitHub에 사본이 이중으로 존재하게 된다. GitHub가 왜 필요한지는 네 가지로 정리된다.
| 쓰임새 | 설명 |
|---|---|
| 이중 보관 | 커밋한 걸 푸시하면 금고로 올라간다. 내 PC와 GitHub에 사본이 둘이 된다. |
| 기기 사망 대비 | 노트북이 물에 빠지고 실수로 폴더를 지워도, 금고에서 그대로 내려받으면 끝. 백업이 아니라 생존 장치다. |
| 협업 | 여러 명이 같은 금고를 보며 각자 작업하고 합친다. 혼자여도 나 + 여러 기기 + AI가 한 금고를 공유한다. |
| 비공개 잠금 | 금고에 자물쇠를 채워 남이 못 보게 한다. 사업 코드나 비밀번호가 든 파일은 반드시 비공개 저장소로. |
특히 마지막이 중요하다. GitHub에는 누구나 볼 수 있는 공개 저장소와 나만 볼 수 있는 비공개 저장소가 있는데, 사업과 관련된 코드나 비밀번호가 들어 있는 파일은 무조건 비공개로 잠가둬야 한다. 공개로 올렸다가 남에게 비밀번호가 그대로 노출되는 사고가 실제로 흔하다.
실전에서는 이렇게 쓴다
말로만 들으면 감이 안 오니, 실제 흐름을 하나 보자. 코딩을 전혀 못 하는 사람이 1분 만에 복구한 이야기다.
먼저 첫 화면을 완성하고 커밋 #1을 찍는다("첫 화면 완성"). 여기까지가 안전지대다. 이어서 예약 기능을 붙이고 커밋 #2를 찍는다("예약 기능 추가"). 여기도 안전지대다. 그다음 AI에게 큰 수정을 맡겼는데, 이번엔 화면이 전부 깨져버렸다. 예전 같으면 식은땀이 나는 순간이다. 하지만 git reset 명령어 한 줄로 커밋 #2 지점으로 복귀한다. 걸린 시간은 1분. 아무 일도 없었던 것처럼 돌아간다.
핵심은 이 사람이 코딩을 못 한다는 점이다. 그런데도 모든 프로젝트를 Git으로 관리한다. 이유는 단 하나 — 겁내지 않고 AI에게 시키기 위해서다. 게다가 매일 밤 작업 기록이 GitHub 비공개 금고에 차곡차곡 쌓이니, PC가 죽어도 기록은 산다. 실력이 아니라 습관이 만든 안전벨트다.
몸에 붙여야 할 습관 하나
AI에게 큰일을 시키기 전에 딱 한 번, 이 습관 하나만 붙이면 된다.
나쁜 습관 — 그냥 시킨다. 커밋 없이 "이 기능 싹 다 바꿔줘"라고 던진다. 결과가 마음에 안 들면 어디부터 틀어졌는지 미궁이다. 되돌릴 지점이 없으니 손으로 하나씩 되돌리다가 더 망친다. 그러다 AI가 무서워지고, 결국 큰일을 못 맡기게 된다.
좋은 습관 — 저장하고 시킨다. "잠깐, 커밋 먼저" 하고 안전벨트를 맨 다음, 그제야 AI에게 마음껏 시킨다. AI가 뭘 하든 최악의 경우는 방금 그 커밋으로 복귀하면 그만이다. 손실이 0이니 더 대담하게, 더 크게 시킬 수 있다.
습관 공식은 세 단어면 끝난다 — 저장하고 · 시키고 · 확인. 위험한 일 앞에서 "커밋 먼저"가 반사적으로 떠오르면 성공이다.
흔한 오해 두 가지
Git을 자꾸 미루게 만드는 생각이 두 개 있다. 둘 다 바로잡고 가자.
오해 1 — "Git은 개발자들이나 쓰는 어려운 도구잖아." 명령어가 수십 개라 지레 겁먹고 미룬다. 하지만 실제로 쓰는 건 저장·되돌리기·백업 버튼 몇 개뿐이다. 커밋·리셋·푸시 3개면 90퍼센트를 커버한다. 게다가 그 명령어조차 AI가 대신 쳐준다.
오해 2 — "괜히 건드렸다 다 날아갈까 봐 무서워." 실수하면 코드가 사라질까 봐 손을 못 댄다. 그런데 사실은 정반대다. Git을 쓰면 실수해도 코드가 안 날아간다. 안 쓰는 게 오히려 더 위험하다. 커밋은 실수를 되돌릴 수 있는 유일한 안전장치이기 때문이다.
3줄 정리
딱 세 줄만 가져가면 된다.
- 커밋 = 저장. 위험한 작업 전에 도장 한 번 찍는 게 가장 값싼 보험. 되돌리기(
git reset)로 언제든 복귀한다. - 브랜치 = 평행우주. 원본은 놔두고 복사본에서 실험하고, 실패하면 통째로 버리면 끝이다.
- GitHub = 금고. 집에도 금고에도 사본을 둔다. 기기가 죽어도 코드는 산다.
결론은 이거다. Git은 실력이 아니라 습관이다. "망해도 복구된다"를 몸으로 아는 순간, AI에게 과감해진다. 오늘의 숙제는 딱 하나 — 다음에 AI에게 뭔가 크게 고쳐달라고 하기 전에 "커밋 먼저"를 한 번 떠올려 보는 것. 그게 안전벨트 매는 습관의 시작이다.
다음 편 — 바이브코딩 강의 4편에서는 내가 만든 프로그램이 '어디서' 도는지를 다룬다. 내 PC(로컬)냐, 서버냐, 클라우드냐, 그리고 비밀 쪽지 같은 .env 파일까지.