바이브코딩 · 4회차 핸즈온 워크북

내 작업에 세이브 포인트
— git과 GitHub 첫 만남

시간 약 75분
준비물 2·3회차에 만든 페이지 폴더, 안티그래비티, GitHub 계정 (가입 이메일·비밀번호 메모 — 없으면 수업 전 github.com에서 가입)
만들 것 GitHub에 올라간 내 코드
오늘의 약속. 오늘은 지금까지 만든 걸 안전하게 "저장"합니다. git으로 세이브 포인트를 찍고, GitHub라는 인터넷 금고에 사본을 올립니다. 배포(인터넷에 공개)는 다음 시간 — 오늘은 "저장까지"가 목표입니다.

0큰 그림 — 오늘은 저장하는 날 5분

지금 여러분의 작업물은 내 컴퓨터 안에만 있습니다. 노트북이 망가지거나 폴더를 실수로 지우면 그냥 사라집니다. 오늘은 이 위험을 없앱니다.

게임 + 금고 비유

git = 게임의 세이브 포인트. 잘 되어 있는 지금 상태를 "찰칵!" 찍어두면, 나중에 뭔가 망가져도 그 시점으로 되돌아올 수 있습니다. 찍는 행위를 커밋(commit)이라고 합니다.

GitHub = 그 세이브 파일을 두는 인터넷 금고. 컴퓨터가 망가져도, 인터넷 금고에 올려둔 사본은 절대 사라지지 않습니다. 금고에 올리는 행위를 푸시(push)라고 합니다.

오늘의 핵심 한 문장. 터미널 명령어는 외우지 않습니다. 안티그래비티 AI에게 한국어로 "이렇게 해줘"라고 부탁하면, AI가 명령어를 대신 실행합니다. 우리는 결과가 잘 됐는지만 눈으로 확인합니다.

1git에 내 이름 알려주기 — 처음 한 번 8분

git은 "누가 세이브를 찍었는지" 기록에 남깁니다. 이 컴퓨터에서 git을 처음 쓴다면, 딱 한 번만 이름과 이메일을 등록해두면 됩니다.

이메일 주의. GitHub에 가입할 때 쓴 이메일과 같은 걸 써야 합니다. 달라도 기술적으로 동작하긴 하지만, GitHub에서 내 커밋 기록이 제대로 연결되지 않을 수 있어요.
1-1. 이름·이메일 등록5분

안티그래비티 AI 채팅창에 아래를 붙여넣고, 대괄호 안의 내용은 본인 것으로 바꿉니다.

내 컴퓨터에서 git을 처음 쓰는 거야.
- 사용자 이름은 "[내 이름 영문 또는 닉네임]"
- 이메일은 "[GitHub에 가입한 이메일 주소]"
이렇게 등록해줘. 명령어는 네가 직접 실행해줘.
끝나면 잘 등록됐는지 확인까지 해서 결과를 한국어로 보여줘.
AI가 user.nameuser.email이 설정됐다고 보여주면 성공.
  • "이미 등록되어 있어요"라고 한다 → 원래 설정된 이름·이메일을 확인하고, 맞으면 그냥 넘어가면 됩니다.
  • 이메일이 어느 걸로 가입했는지 모름 → github.com 로그인 후 오른쪽 위 프로필 → Settings → Emails에서 확인
1-2. 2·3회차 폴더를 안티그래비티에서 열기3분
  1. 안티그래비티 실행 → File → Open Folder
  2. 2·3회차에 만든 페이지 폴더를 찾아서 선택 → 열기
  3. "Do you trust the authors?" 창이 뜨면 Yes, I trust 클릭
왼쪽 사이드바에 app/, package.json 등 파일이 보이면 OK.

2이 폴더를 git이 관리하게 10분

지금 폴더는 그냥 파일 더미입니다. git한테 "이 폴더, 네가 관리해"라고 선언해야 세이브 포인트 기능이 켜집니다. 이 선언을 초기화(init)라고 합니다.

2-1. git 초기화 + 상태 확인5분
이 폴더를 git 저장소로 초기화해줘 (git init).
그리고 지금 이 폴더 안에 어떤 파일이 있는지
git status로 보여줘.
AI가 "Untracked files"(아직 추적 안 된 파일들) 목록을 한 무더기 보여주면 성공. 그게 바로 "git이 아직 세이브를 찍지 않은 파일들"입니다.
2-2. .gitignore 안내 확인5분

AI가 .gitignore 파일을 만들거나 이미 있다고 말할 수 있습니다. 이 파일은 "이 목록에 있는 파일들은 git이 추적하지 않게 해줘"라는 설정입니다. node_modules/ 같은 무거운 라이브러리 폴더를 제외할 때 씁니다.

.gitignore는 건드리지 않아도 됩니다. Next.js 프로젝트를 만들 때 AI가 이미 적절하게 설정해뒀을 가능성이 높아요. 모르면 그냥 두세요.

3첫 세이브 포인트 — 커밋 찍기 17분

게임 세이브 비유

RPG 게임에서 보스방 앞에서 세이브를 찍어두면, 보스한테 지더라도 다시 그 앞으로 돌아올 수 있죠. 코딩도 마찬가지입니다. 잘 되는 시점에 커밋을 찍어두면, 다음에 뭔가 망가져도 그 시점으로 되돌릴 수 있습니다.

커밋에는 반드시 메시지를 같이 적어야 합니다. "이때 뭘 했지?" 나중에 자기 자신이 알아볼 수 있게 — "무엇을 왜" 한 줄이면 충분합니다.

3-1. 첫 번째 커밋8분
지금 폴더 전체를 첫 번째 커밋으로 묶어줘.
- git add로 모든 파일을 준비하고
- 커밋 메시지는 한국어로: "처음 시작 — 안녕하세요 페이지 만듦"
- 명령어는 네가 직접 실행해줘
- 끝나면 git log로 잘 찍혔는지 결과를 보여줘

AI가 두 단계를 밟습니다.

  1. git add . — 모든 파일을 "찍을 준비" 대기열에 올리기
  2. git commit -m "메시지" — 메시지와 함께 실제로 세이브 포인트 찍기
git log 결과에 내가 적은 한국어 메시지가 보이면 성공. 이게 첫 번째 세이브 포인트입니다.
커밋 메시지 금지 패턴. 아래처럼 적으면 한 달 뒤 본인이 못 알아봅니다.
  • "수정" — 뭘 수정했나요?
  • "." — 이건 메시지가 아닙니다.
  • "ㅠㅠ" — 감정은 일기장에.
좋은 예: "소개 문단 추가", "배경색 흰색으로 변경", "오타 수정 — 이름 틀린 거"
3-2. 두 번째 커밋 — 작은 수정 후 다시 찍기9분

"수정 → 커밋"의 리듬을 한 번 더 연습합니다. 아주 작은 변화도 됩니다.

메인 페이지에 있는 내 이름 글자색을 청록색(#22989D)으로 바꿔줘.
바꾸고 나서, 변경 사항을 두 번째 커밋으로 찍어줘.
메시지는 한국어로: "이름 글자색 청록으로 변경"
명령어는 네가 직접 실행.
① 브라우저(localhost:3000)를 새로고침하면 이름이 청록색으로 보인다. ② git log에 커밋이 두 줄로 늘어난다. 이 흐름이 앞으로 반복할 "수정 → 세이브"의 기본 사이클입니다.
  • 브라우저가 그대로 → dev 서버가 꺼졌을 수 있음. AI에게 npm run dev를 다시 실행해줘
  • 커밋이 안 됨 → AI에게 지금 어디서 막혔어? 에러 메시지 그대로 보여줘

4GitHub에 빈 저장소 만들기 12분

금고 비유

세이브 포인트는 아직 내 컴퓨터 안에만 있습니다. 인터넷 금고인 GitHub에 사본을 만들어야 컴퓨터가 망가져도 안전합니다. 먼저 GitHub에 빈 금고 칸을 하나 예약합니다. 그게 저장소(repository, repo)입니다.

4-1. GitHub에서 새 저장소 만들기7분
  1. 브라우저에서 github.com 로그인
  2. 오른쪽 위 + 버튼 → New repository 클릭
  3. Repository name 란에 내 폴더 이름과 같게 입력 (예: my-first-site)
  4. Public 선택 (다음 시간 Vercel 무료 연결을 위해)
  5. 아래 옵션은 전부 체크하지 않음
중요 — README·.gitignore·license 옵션 체크 금지. 옵션을 하나라도 체크하면 GitHub에 파일이 생겨서, 나중에 push할 때 충돌이 납니다. 전부 비운 채로 Create repository를 눌러야 합니다.
"…or push an existing repository from the command line"이라는 안내 화면이 나오면 성공. 이 페이지는 닫지 말고 다음 단계에서 씁니다.
4-2. 저장소 주소 복사5분

GitHub가 보여준 안내 화면에 아래 형태의 주소가 있습니다.

https://github.com/내아이디/my-first-site.git

이 주소를 마우스로 드래그해서 복사합니다 (⌘C 또는 Ctrl+C). 다음 단계에서 AI에게 붙여넣어야 합니다.
주소가 두 종류로 보인다면 (HTTPS / SSH) — HTTPS를 선택하세요. https://로 시작하는 것이 HTTPS입니다.

5내 폴더를 GitHub에 올리기 — push 15분

이제 내 컴퓨터의 저장소와 GitHub 금고를 연결하고, 커밋들을 밀어 올립니다. remote 등록(어디 금고에 올릴지 주소 등록) → push(실제로 올리기) 두 단계를 AI가 한 번에 해줍니다.

5-1. remote 등록 + push8분

아까 복사한 GitHub 저장소 주소를 아래 프롬프트의 대괄호 자리에 붙여넣어서 전송합니다.

방금 GitHub에 빈 저장소를 만들었어. 주소는
[여기에 복사한 주소 붙여넣기]

이 주소를 우리 폴더의 원격 저장소(remote)로 등록하고,
지금까지의 커밋을 main 브랜치로 push해줘.
명령어는 네가 직접 실행해줘.
끝나면 결과를 한국어로 요약해줘.
인증 창이 뜰 수 있어요. GitHub가 "당신 맞아요?" 확인합니다. 브라우저로 자동 이동해서 Authorize(또는 로그인)를 누르면 됩니다. 이건 보안 절차라 정상입니다.
AI가 "push 성공" 또는 "Everything up-to-date" 같은 메시지를 보여주면 OK.
  • 비밀번호를 입력하라는 창이 계속 뜸 → GitHub는 2021년부터 비밀번호 대신 Personal Access Token을 씁니다. AI에게 GitHub push가 비밀번호를 물어봐. Personal Access Token 만드는 법 알려줘라고 하세요.
  • "remote origin already exists" 에러 → AI에게 remote origin already exists 에러 났어. 기존 remote 지우고 새로 등록해줘
  • push 자체가 거부됨 → AI에게 에러 메시지를 그대로 복사해서 전달
5-2. push 결과 요약 확인7분

성공했다면 AI가 이런 내용을 보여줄 겁니다.

  • 어떤 브랜치(main)로 올라갔는지
  • 커밋이 몇 개 올라갔는지
  • GitHub 저장소 주소
브랜치(branch)란? 지금은 몰라도 됩니다. 오늘은 main이라는 이름의 기본 브랜치 하나만 씁니다. "버전 관리의 줄기" 정도로만 기억해두세요.

6진짜 올라갔는지 확인 + 마무리 8분

6-1. GitHub 페이지에서 직접 눈으로 확인5분
  1. 아까 열어뒀던 GitHub 저장소 페이지로 가서 새로고침 (F5 또는 ⌘R)
  2. 아까는 비어 있던 자리에 app/, package.json 같은 파일들이 나타나는지 확인
  3. 파일 목록 위쪽에 커밋 메시지가 보이는지 확인 — 내가 한국어로 적은 바로 그 메시지
  4. 오른쪽 위 "2 commits" 같은 숫자 링크 → 클릭하면 커밋 목록 전체가 보임
① 파일들이 목록에 보인다 ② 한국어 커밋 메시지가 보인다 — 두 가지 모두 확인되면 인터넷 금고에 안전하게 도착한 겁니다.
여전히 빈 페이지 → push가 실패했을 가능성. 안티그래비티로 돌아가서 push가 됐는지 확인해줘. 안 됐으면 다시 해줘.
6-2. 오늘의 성과 정리3분

오늘 우리가 한 일 한눈에 보기:

단계한 일결과
git config — 내 이름·이메일 등록git이 "이 사람" 알게 됨
git init — 이 폴더를 git이 관리세이브 포인트 기능 ON
git add + commit × 2 — 커밋 두 번세이브 포인트 2개
GitHub에 빈 저장소 만들기인터넷 금고 칸 예약
remote 등록 + push사본이 인터넷 금고에 도착
다음 시간(5회차) 예고. 오늘은 인터넷 금고까지 올렸습니다. 다음 시간에는 폴더 만들기부터 배포(세상에 공개)까지 전체 한 사이클을 천천히 다시 돌립니다. 오늘 배운 git·GitHub가 그 사이클의 중간에 자연스럽게 들어갑니다.

오늘의 자가 점검

다 체크됐다면 — 오늘 완성입니다. 인터넷 금고에 코드가 올라갔다는 것 자체가 대단한 일입니다. 다음 시간에는 이 위에서 배포까지 이어갑니다. 오늘 만든 폴더와 GitHub 주소를 기억해두세요.

다음 시간 예고 — 5회차

5회차 = 폴더부터 배포까지 한 사이클을 천천히 다시.

오늘 배운 것들 — 폴더 만들기, git 커밋, GitHub push — 이 흐름에 Vercel(배포)까지 붙여서 처음부터 끝까지 한 번 더 돌립니다. 외워서 하는 게 아니라 손이 기억하게 하는 시간입니다.

준비사항. 오늘 만든 GitHub 저장소 주소를 메모해두세요. 그리고 Vercel 계정이 없다면 다음 시간 전에 vercel.com에서 GitHub 계정으로 가입해두면 좋습니다.

부록 — 자주 막히는 곳과 용어

자주 막히는 곳

증상해결
커밋 메시지를 실수로 짧게 적었다 (예: "수정") 이미 찍힌 커밋 메시지는 바꾸기가 번거롭습니다. 다음 커밋부터 잘 적는 습관을 들이세요. AI에게 다음 커밋 메시지 예시 좋게 작성해줘라고 물어도 됩니다.
push 실패 — "remote origin already exists" AI에게 remote origin already exists 에러가 났어. 기존 remote 주소를 확인하고, 필요하면 지우고 새 주소로 다시 등록해줘
push할 때 비밀번호 창이 자꾸 뜸 GitHub는 2021년부터 비밀번호 인증을 막았습니다. Personal Access Token(PAT)을 만들어야 합니다. AI에게 GitHub Personal Access Token 만드는 법 단계별로 알려줘
GitHub 저장소 페이지가 비어 있음 push가 실제로 됐는지 확인. AI에게 push 성공했어? git log로 커밋 있는지 확인하고, remote 주소도 확인해줘
git이 "Not a git repository"라고 함 git init을 하지 않은 것. AI에게 이 폴더를 git 저장소로 초기화해줘 (git init)
커밋이 0개, git log가 비어 있음 git add를 하지 않았거나 커밋이 안 된 것. AI에게 git status 보여줘. 스테이지에 올라간 파일이 있는지 확인하고, 없으면 add부터 다시 해줘

오늘의 용어

git 파일 변경 이력을 추적하는 버전 관리 시스템. 세이브 포인트를 찍는 도구
커밋
(commit)
세이브 포인트를 찍는 행위. 반드시 메시지와 함께. "무엇을 왜 바꿨는지" 한 줄
저장소
(repo)
git이 관리하는 폴더. 커밋 이력이 쌓이는 공간. repository의 줄임말
GitHub git 저장소를 인터넷에 올려두는 서비스. 인터넷 금고. github.com
push 로컬(내 컴퓨터) 커밋들을 GitHub(원격 저장소)로 올리는 행위
remote 원격 저장소. 내 컴퓨터 밖에 있는 GitHub 저장소를 가리키는 이름
main
브랜치
커밋들이 쌓이는 기본 줄기. 오늘은 이것 하나만 씁니다