Vibe 코딩을 사용할 때 개발부터 배포까지 반드시 숙지해야 할 7가지-03
4. Version Control Isn’t Optional — It’s Your Safety Net
만약 당신이 Git 없이 바이브 코딩을 하고 있다면, 밧줄 없이 프리 솔로를 하고 있는 것입니다. 진심으로요.
바이브 코딩은 빠른 반복을 장려합니다. 프롬프트, 생성, 테스트, 다시 프롬프트. 그 사이클은 속도에는 좋지만, 고장났을 때 되돌아갈 방법이 없다면 위험합니다. 그리고 바이브 코딩에서는 결국 무언가가 깨질 것입니다.
여기서 버전 관리가 특히 중요한 이유는 AI 도구가 종종 한 번에 광범위한 변경을 가하기 때문입니다. 여러 파일에 걸쳐 API 서명을 변경하거나, 중복으로 간주되는 코드를 조용히 삭제하거나, 터치할 것이라고 예상하지 못한 모듈을 재구성합니다. 적절한 커밋 기록 없이는 무엇이 변경되었는지 또는 왜 변경되었는지 전혀 알 수 없을 것입니다.
# ❌ BEFORE — The vibe coder's commit
$ git add .
$ git commit -m "fix stuff"
$ git push origin main
# AI may have changed 12 files, deleted 2, and quietly
# broken an auth check. You have no idea.
# ✅ AFTER — Intentional, auditable commits
# 1. Always review what changed before staging
$ git diff
$ git status
# 2. Stage only the files you've reviewed
$ git add src/auth.js src/utils.js
# 3. Write a descriptive message + tag AI-generated changes
$ git commit -m "feat(auth): add JWT + bcrypt login [ai-gen]
- Replace plain-text password comparison
- Add token expiry (1h)
- Use vague error messages to prevent user enumeration"
# 4. Push to a feature branch, never directly to main
$ git push origin feature/auth-hardening
커밋 메시지의 [ai-gen] 태그는 감사 중에 큰 보상을 받는 작은 습관입니다. AI에서 어떤 변경 사항이 발생했는지, 그리고 인간이 검토했는지 정확히 알 수 있습니다.