바이브 코딩을 위한 Git & GitHub
Part 3: 협업과 보안

8장. AI와 함께 커밋하기 — GitHub Copilot + 커밋 자동화

AI가 코드를 수정할 때마다 커밋하는 습관이 바이브 코딩의 안전망입니다.

2026년 6월 4일 목요일 저녁, 김진관 선생님은 6월 모의고사 채점을 막 끝냈습니다. 집에 돌아와 저녁을 먹고 class-2b에 분석 자료를 올리는 작업을 시작했습니다. Claude에게 "모의고사 분석 페이지 레이아웃을 깔끔하게 정리해 줘. 색상도 학급 컬러로 맞추고."라고 부탁했더니 2분 뒤 수정이 끝났습니다. VSCode Source Control 패널을 열어 보니 파일 23개가 수정되어 있었습니다. 커밋 메시지 입력창 앞에서 손이 멈췄습니다. "이걸 어떻게 한 줄로 요약하지?" 그때 입력창 오른쪽 구석에 작게 반짝이는 ✨ 아이콘이 눈에 들어왔습니다. 클릭했더니 2초 뒤 문장이 채워졌습니다. "모의고사 분석 자료 레이아웃 및 색상 체계 정비." 김진관 선생님은 읽어보고 Ctrl+Enter를 눌렀습니다.

이 챕터를 마치면 다음을 할 수 있습니다.

  • GitHub Copilot으로 커밋 메시지를 자동 생성할 수 있습니다.
  • 바이브 코딩 중 언제 커밋해야 하는지 세 가지 타이밍을 구분할 수 있습니다.
  • AI 설정 파일과 API 키를 커밋에서 제외해야 한다는 개념을 이해할 수 있습니다.

(1) GitHub Copilot 커밋 메시지 자동 생성 — 갤러리 앱의 자동 앨범 분류

스마트폰 갤러리 앱이 "6월 수학여행"처럼 사진 묶음을 알아서 분류해 주는 기능과 같습니다. Copilot은 스테이징된 변경 내용을 읽고 핵심을 한 줄로 요약해 커밋 메시지로 제안합니다. 내가 할 일은 제안을 검토하고 손볼 부분만 고치는 것입니다. 파일 23개를 열어보며 공통점을 찾아내는 수고가 2초로 줄어듭니다.

실습 순서는 이렇습니다. 먼저 VSCode 왼쪽 Extensions 아이콘에서 GitHub Copilot을 검색해 설치합니다. 설치가 끝나면 오른쪽 아래 계정 아이콘에서 GitHub 로그인을 확인합니다. 그다음 파일을 수정한 뒤 Source Control 패널을 열고, 커밋할 파일을 +로 스테이징합니다. 메시지 입력창 오른쪽에 반짝이(✨) 아이콘이 나타나면 클릭합니다. 1~2초 뒤 메시지 칸에 문장이 자동으로 채워집니다. 내용을 읽고 이상 없으면 Ctrl+Enter로 커밋합니다. 김진관 선생님이 모의고사 분석을 올릴 때 쓴 바로 그 순서입니다.

GitHub Education 인증을 마친 교사와 학생은 Copilot을 별도 요금 없이 사용할 수 있습니다. 학교 이메일로 신청하면 며칠 안에 승인이 떨어집니다. 일반 사용자도 월간 제한 내에서 무료 플랜을 사용할 수 있습니다.

잘 안 되면? 반짝이(✨) 아이콘이 보이지 않으면 Copilot 확장이 설치되지 않았거나 로그인이 풀린 상태입니다. VSCode 왼쪽 Extensions 아이콘에서 GitHub Copilot을 다시 확인합니다. 스테이징된 파일이 하나도 없으면 아이콘이 떠도 눌렀을 때 반응이 없습니다. 먼저 +로 파일을 담으면 됩니다. 생성된 메시지가 영어로 나온다면 입력창에 "한국어로"라고 한 단어만 적고 다시 ✨을 눌러 봅니다.

(2) 바이브 코딩 커밋 타이밍 3원칙 — RPG 보스방 앞 세이브 포인트

롤플레잉 게임에서 보스 방 문 앞에 세이브 포인트가 놓여 있는 것과 같습니다. 위험한 구간에 들어가기 전 세이브를 남기면 실패해도 직전 상태로 돌아옵니다. 바이브 코딩에서 커밋 타이밍은 다음 세 지점입니다.

(1) AI에게 요청하기 직전. 지금 이 상태가 정상 동작한다면 먼저 커밋해 둡니다. 다음 프롬프트가 어떤 결과를 낼지 아무도 모르기 때문입니다. 김진관 선생님이 "모의고사 분석 페이지 레이아웃 정리해 줘"라고 부탁하기 전에 한 번 커밋해 뒀다면, AI가 엉뚱한 곳을 건드려도 한 번의 되돌리기로 원래 페이지가 복구됩니다.

(2) AI 결과가 마음에 들 때 즉시. 코드가 동작하고 결과물이 만족스러우면 바로 커밋합니다. 커밋 메시지는 "모의고사 분석 자료 레이아웃 정비"처럼 구체적으로 적습니다. 이 지점이 다음 실험의 출발선이 됩니다. 한 번의 성공을 다음 프롬프트의 토대로 삼는 방식입니다.

(3) AI 결과가 마음에 안 들면 Discard Changes로 되돌리기 전에 점검. 결과가 엉망이라 되돌리고 싶다면 Source Control 패널의 Discard Changes(되돌리기) 아이콘을 누릅니다. 마지막 커밋 이후의 모든 수정이 사라지고 직전 세이브 포인트로 복귀합니다. 이때 (1)에서 커밋을 해두지 않았다면 돌아갈 곳이 없다는 점에서 첫 번째 원칙이 가장 중요합니다.

10~15분 간격으로 커밋하는 습관이 권장됩니다. 바이브 코딩은 한 번의 프롬프트로 수십 파일이 바뀌기 때문에, 기존 개발보다 커밋 빈도를 두세 배 높여야 안전합니다.

잘 안 되면? Discard Changes 아이콘이 보이지 않는다면 Changes 섹션에서 파일에 마우스를 올려 봅니다. 오른쪽 끝에 곡선 화살표 모양으로 나타납니다. 실수로 누르면 되돌릴 수 없으므로 VSCode가 확인 창을 띄웁니다. 꼭 버릴 변경인지 한 번 더 읽고 누릅니다.

(3) .gitignore — 공유 문서에 개인 메모 붙이지 않기

회사에서 공유 폴더에 문서를 올릴 때, 포스트잇에 적어둔 개인 비밀번호는 떼고 올리는 일과 같습니다. .gitignore는 "이 파일은 GitHub에 올리지 않는다"고 Git에 알려주는 목록 파일입니다. Claude 설정 폴더(.claude/), Cursor 설정 폴더(.cursor/) 같은 AI 도구 전용 파일은 여기 들어갑니다. 이 파일들은 내 컴퓨터의 개인 설정일 뿐 class-2b 웹사이트 동작과 관련이 없습니다. 더 중요한 건 .env 같은 환경 변수 파일입니다. OpenAI API 키나 Claude API 키가 여기 적혀 있다면 GitHub에 올리는 순간 전 세계가 내 키를 볼 수 있습니다.

이번 챕터에서는 .gitignore가 어떤 역할을 하는지만 기억하면 충분합니다. 실제 파일을 만들고 어떤 줄을 적어야 하는지, API 키가 노출됐을 때 어떻게 대처해야 하는지는 10장에서 집중적으로 다룹니다. 지금 당장 할 일은 없습니다. 이 이름을 기억해 두는 것으로 충분합니다. 준비는 이미 된 것입니다.

핵심 3줄 요약

  • 커밋 메시지 입력창의 ✨ 아이콘을 누르면 Copilot이 변경 내용을 읽어 한 줄 요약을 만들어 줍니다.
  • 바이브 코딩 커밋 타이밍은 (1) AI 요청 직전 (2) 결과가 마음에 들 때 즉시 (3) 되돌리기 전입니다.
  • .claude/, .cursor/, .env는 GitHub에 올리지 않습니다. 자세한 설정은 10장에서 다룹니다.

완료 체크리스트

  • 나는 이제 Copilot ✨ 아이콘으로 커밋 메시지를 자동 생성할 수 있습니다.
  • 나는 이제 바이브 코딩 중 언제 커밋해야 하는지 세 가지 타이밍을 구분할 수 있습니다.
  • 나는 이제 AI 설정 파일과 API 키를 커밋에서 제외해야 한다는 걸 압니다.

다음 9장에서는 혼자 쓰던 Git을 동료 선생님과 함께 쓰는 방법 — Fork, 풀 리퀘스트, 충돌 해결을 다룹니다.