Git과 버전 관리 (Version Control)
파일의 변경 이력을 기록하고 관리하는 시스템입니다. AI가 코드를 대량으로 수정해도, 이전 상태로 되돌리거나 변경 내역을 추적할 수 있게 해줍니다.
🤔 혹시 이런 경험 있나요?
AI에게 "디자인 좀 바꿔줘"라고 했더니, 파일 10개를 한꺼번에 수정했습니다. 결과를 보니 이전 버전이 더 나았는데... 뭘 어떻게 바꿨는지도 모르겠고, 되돌릴 수도 없습니다.
또는 이런 경우도 있습니다. 잘 되던 코드가 갑자기 에러가 나는데, 대체 언제부터 안 됐는지, 뭘 바꿨길래 망가졌는지 알 수가 없습니다.
이런 상황을 방지하는 것이 바로 Git입니다. 바이브코딩에서 Git은 선택이 아니라 생존 도구입니다.
🔑 Git, 한마디로 뭘까요?
Git은 파일의 변경 이력을 기록하고 관리하는 버전 관리 시스템입니다.
문서 작업할 때 "보고서_최종.docx", "보고서_최종_수정.docx", "보고서_진짜최종.docx"처럼 파일을 여러 개 만들어본 적 있을 겁니다. Git은 이걸 하나의 파일로 관리하면서, 모든 변경 기록을 자동으로 저장해줍니다.
💾 게임의 세이브 포인트와 같습니다
RPG 게임을 하는 상황을 떠올려보세요.
- 세이브 없이 플레이: 보스전에서 지면 처음부터 다시 시작해야 합니다.
- 중간중간 세이브: 보스전에서 져도 세이브 포인트부터 다시 시작하면 됩니다.
Git에서 커밋(commit)은 이 세이브 포인트와 같습니다. "여기까지는 잘 되니까 저장해두자"라고 기록하는 것입니다. AI가 코드를 크게 바꾸기 전에 커밋해두면, 문제가 생겼을 때 언제든 이전 상태로 되돌릴 수 있습니다.
⚙️ 핵심 개념 4가지
1. 커밋 (Commit) - 세이브 포인트 만들기
현재 파일 상태를 기록하는 것입니다.
git add . # 변경된 파일들을 준비 git commit -m "로그인 기능 추가" # 세이브 포인트 생성 + 메모
2. 푸시 (Push) - 클라우드에 백업하기
내 컴퓨터의 기록을 GitHub(온라인 저장소)에 올리는 것입니다.
git push # GitHub에 업로드
3. 풀 (Pull) - 클라우드에서 가져오기
다른 곳에서 변경된 내용을 내 컴퓨터로 가져오는 것입니다.
git pull # GitHub에서 다운로드
4. 브랜치 (Branch) - 평행 세계 만들기
현재 코드를 복사해서 별도로 작업하는 것입니다. 실험이 실패하면 버리고, 성공하면 합칠 수 있습니다.
git checkout -b new-feature # 새 브랜치 생성 git merge new-feature # 메인에 합치기
🌐 GitHub은 뭔가요?
Git은 내 컴퓨터에서 돌아가는 버전 관리 도구이고, GitHub은 그 기록을 온라인에 저장하고 공유하는 서비스입니다.
- Git: 세이브 파일을 만드는 기능 (로컬)
- GitHub: 세이브 파일을 클라우드에 백업하는 서비스 (온라인)
GitHub에 코드를 올려두면 컴퓨터가 고장나도 코드를 잃지 않고, Vercel 같은 배포 서비스와 연결하면 GitHub에 올리기만 해도 자동으로 웹사이트가 업데이트됩니다.
💡 바이브코딩에서 Git이 특히 중요한 이유
1. AI는 대량의 파일을 한 번에 수정합니다
- 사람이 직접 코딩하면 한 번에 1
2개 파일을 수정하지만, AI는 1020개 파일을 동시에 바꾸기도 합니다. - 커밋 없이 이런 변경을 허용하면, 문제가 생겼을 때 어떤 파일이 원인인지 찾기 어렵습니다.
2. AI의 수정이 항상 올바르지는 않습니다
- AI가 수정한 코드가 다른 기능을 망가뜨릴 수 있습니다.
- 커밋해두면
git diff로 "AI가 정확히 뭘 바꿨는지" 확인할 수 있고,git checkout으로 되돌릴 수 있습니다.
3. 실험을 안전하게 할 수 있습니다
- "이 디자인으로 바꿔볼까?"를 브랜치로 시도하면, 마음에 안 들면 브랜치를 삭제하면 끝입니다.
- 메인 코드는 전혀 영향받지 않습니다.
🛠️ 바이브코딩 실전 워크플로우
1. AI에게 새 기능 요청 전에
→ git commit -m "기능 추가 전 현재 상태 저장"
2. AI가 코드를 수정한 후
→ git diff 로 변경 내용 확인
→ 잘 작동하면 git commit -m "로그인 기능 추가"
→ 문제가 있으면 git checkout . 로 되돌리기
3. 안정적인 버전이 완성되면
→ git push 로 GitHub에 백업
📋 30초 요약
-
Git은 파일의 변경 이력을 기록하는 버전 관리 시스템입니다. 게임의 세이브 포인트처럼,
git commit으로 현재 상태를 저장하고 언제든 되돌릴 수 있습니다. -
바이브코딩에서 Git은 필수입니다. AI가 대량의 파일을 한 번에 수정하므로, 커밋 없이 작업하면 문제 발생 시 복구가 불가능합니다. AI에게 큰 변경을 요청하기 전에 반드시 커밋하세요.
-
GitHub은 Git 기록을 온라인에 저장하는 서비스입니다. 코드 백업은 물론, Vercel 등과 연결하면 자동 배포도 가능합니다.
git push로 올리고,git pull로 가져옵니다.
