커뮤니티 입장하기

Git (버전 관리, Version Control)

파일의 변경 이력을 기록하고 관리하는 시스템입니다. AI가 코드를 대량으로 수정해도, 이전 상태로 되돌리거나 변경 내역을 추적할 수 있게 해줍니다.

같은 말:깃깃허브GitHub버전관리소스 관리

지금까지 100명 넘게 읽었어요, 39%가 끝까지 읽었어요
Share
목차
  1. 🤔 혹시 이런 경험 있나요?
  2. 🔑 Git, 한마디로 뭘까요?
  3. 💾 게임의 세이브 포인트와 같습니다
  4. ⚙️ 핵심 개념 4가지
  5. 🌐 GitHub은 뭔가요?
  6. 💡 바이브코딩에서 Git이 특히 중요한 이유
  7. 🛠️ 바이브코딩 실전 워크플로우
  8. 🧯 Git이 실제로 우리를 구해주는 상황
  9. 📋 3줄 요약

🤔 혹시 이런 경험 있나요?

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는 10~20개 파일을 동시에 바꾸기도 합니다.
  • 커밋 없이 이런 변경을 허용하면, 문제가 생겼을 때 어떤 파일이 원인인지 찾기 어렵습니다.

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에 백업

본문 개념을 설명하는 학습용 예시입니다. 실제 서비스 화면이 아닙니다.

🧯 Git이 실제로 우리를 구해주는 상황

AI가 코드를 대량 수정한 뒤 사이트가 깨졌을 때

AI 코딩 도구에 "디자인을 전체적으로 다듬어줘"라고 요청했더니 파일 15개가 한꺼번에 바뀌고, 새로고침하니 화면이 하얗게 나오는 상황입니다. 어떤 파일이 문제인지 하나씩 찾는 대신, 직전에 커밋해뒀다면 git checkout . 한 줄로 요청 전 상태로 돌아갈 수 있습니다. 복구에 걸리는 시간이 몇 시간에서 몇 초로 줄어듭니다.

어제는 되던 기능이 오늘 안 될 때

분명 어제까지 잘 작동하던 문의 폼이 갑자기 에러를 냅니다. git log로 최근 커밋 목록을 보면 그 사이에 무엇이 바뀌었는지 알 수 있고, git diff로 바뀐 내용을 구체적으로 비교할 수 있습니다. 원인 후보를 좁힌 상태로 시작하면 디버깅이 훨씬 수월해지고, AI에게도 "이 변경 이후 문제가 생겼어"라고 정확한 맥락을 전달할 수 있습니다.

노트북을 바꾸거나 파일이 날아갔을 때

작업하던 노트북이 고장 나거나, 실수로 프로젝트 폴더를 삭제하는 일은 누구에게나 생깁니다. GitHub에 푸시해뒀다면 새 컴퓨터에서 저장소를 내려받는 것만으로 마지막 푸시 시점까지 복구할 수 있습니다. 여기에 Vercel 같은 서비스를 연결해두면 배포까지 자동으로 이어집니다.

📋 3줄 요약

  1. Git은 파일이 언제 어떻게 바뀌었는지 기록해 두고 원하는 시점으로 되돌릴 수 있게 하는 버전 관리 시스템입니다.

  2. 커밋으로 지금 상태를 기록하고 푸시로 GitHub에 올리며 브랜치로 원래 코드를 두고 따로 실험합니다.

  3. AI는 한 번에 파일 열 개 넘게 고치므로 요청 전에 커밋해 두면 화면이 깨졌을 때 git checkout 한 줄로 되돌릴 수 있습니다.

Share

제대로 이해했는지 한 문제로 확인해 볼까요?

답을 고르면 바로 풀이가 나와요.

바이브코딩 중 AI에게 큰 기능 변경을 요청하려고 합니다. 요청하기 전에 가장 먼저 해야 할 일은 무엇일까요?

4개념 / 클래스npm (패키지 매니저)