ARTICLE 25 min

git 시작 — 첫 커밋부터 백업

이 레슨이 끝나면

  • git ≠ GitHub 차이를 명확히 안다 (git = 본인 PC의 변경 이력 도구, GitHub = 그 이력을 인터넷에 올려두는 저장소)
  • 본인 빌드킷 폴더에 git이 시작되어 있고, "초기 상태"가 첫 커밋으로 저장되어 있다
  • 자주 쓰는 git 명령 5개(git init, git status, git add ., git commit -m "...", git log)를 본인 손으로 한 번씩 쳐 봤다
  • "실수해도 git이 있으니까 안 망한다" 감각을 손에 쥐었다

git이 뭔지 — 게임 세이브 포인트 비유

git은 본인이 만든 파일들의 변경 이력을 한 줄씩 기록해 주는 도구예요. 가장 친숙한 비유는 게임 세이브 포인트예요.

  • 지금 게임을 세이브해 둔다 = git commit (지금 상태를 영원히 저장)
  • 보스에게 죽었다, 직전 세이브로 되돌아간다 = git reset 또는 git checkout
  • 지금까지 한 세이브 목록 보기 = git log
  • 다른 캐릭터로 분기해서 다른 길 가 보기 = git branch

AI에게 코드를 시키다 보면 반드시 "방금 잘 됐는데 한 번 더 시키니까 망가졌어요" 같은 일이 일어나요. 그때 git이 있으면 한 줄 명령으로 방금 잘 됐던 그 상태로 되돌릴 수 있어요. 없으면 처음부터 다시 시켜야 해요. 즉 git은 AI 코딩 시대에 필수 안전망이에요.

git ≠ GitHub — 가장 헷갈리는 부분

git GitHub
무엇 본인 PC에서 도는 도구 인터넷의 저장소 사이트 (Microsoft 소유)
어디서 본인 PC 안 (오프라인 OK) github.com (인터넷 필요)
역할 변경 이력 기록·되돌리기 git 이력을 인터넷에 백업·공유
언제 오늘 (4-3) 4-13 (Reflection)

오늘은 git만 다뤄요. GitHub는 4-13(Reflection)에서 다뤄요. 혼자 PC에서 작업하다가 어느 정도 진행됐을 때 "이걸 인터넷에 백업해 두자"는 마음이 들면 그때 GitHub에 올리는 패턴이에요.

🎨 생성 (Codex CLI) — git vs GitHub 다이어그램. 좌: 본인 노트북 안의 git 세이브 포인트들 / 우: 인터넷 GitHub 저장소 / 화살표: "git push로 백업".
git은 본인 PC, GitHub은 인터넷 백업.

단계 1 — git 설치 확인

Antigravity 하단 터미널을 열고 다음 한 줄 입력.

git --version

git version 2.x.x 같은 응답이 오면 이미 설치돼 있어요. 다음 단계로. command not found 에러가 나면 설치가 필요해요:

  • Mac: 터미널에서 git --version 입력하면 자동으로 "Xcode Command Line Tools 설치" 창이 떠요. "설치" 클릭 → 5~10분 대기.
  • Windows: git-scm.com/download/win 가서 설치 파일 다운로드 → 더블클릭 → 모든 옵션은 기본값으로 "Next" 계속 → 설치 완료 후 Antigravity 재시작.
📷 캡쳐 — Antigravity 터미널에서 <code>git --version</code> 응답 화면.

단계 2 — git 본인 정보 등록 (한 번만)

git에게 "본인이 누군지" 한 번만 알려주면 돼요. 모든 커밋에 본인 이름이 새겨져요. 터미널에 한 줄씩 입력 (본인 이메일·이름으로 바꿔서):

git config --global user.name "본인 이름"
git config --global user.email "본인이메일@example.com"

본인이 나중에 GitHub를 쓸 거라면 GitHub에 등록할 이메일과 같은 걸 쓰는 게 좋아요. 한 번 설정하면 모든 폴더에 자동 적용돼서 다시 안 해도 됩니다.

단계 3 — 빌드킷 폴더에 git 시작

터미널의 현재 위치가 본인 빌드킷 폴더인지 먼저 확인.

pwd
# /Users/me/dev/my-service  (또는 비슷한 빌드킷 경로)

만약 다른 폴더면 cd ~/dev/my-service (Mac) 또는 cd C:\dev\my-service (Win)으로 이동. 제대로 빌드킷 폴더에 와 있으면 git 시작.

git init

Initialized empty Git repository in ... 같은 응답이 뜨면 성공이에요. 이제 이 폴더가 git의 관리 영역(저장소)이 됐어요. 폴더 안에 .git이라는 숨김 폴더가 새로 생겼는데, 그게 git의 머리예요. 절대 직접 삭제하거나 수정하지 마세요.

📷 캡쳐 — 터미널에서 git init 실행 결과 + Antigravity 좌측 트리에 .git 폴더 생긴 화면.

단계 4 — 현재 상태 확인 (status)

가장 자주 쓸 명령이 git status예요. 지금 git에서 어떤 파일이 추적되고 있는지, 어떤 게 변경됐는지 보여줘요.

git status

지금 막 git init한 직후라 "Untracked files:" 아래에 빌드킷의 모든 파일이 빨간색으로 죽 나와야 해요. 정상이에요. "untracked"는 "git이 아직 모르는 파일"이라는 뜻이에요. 다음 단계에서 git에게 이 파일들을 보라고 알려줘요.

단계 5 — 변경 사항 추가 (add) + 첫 커밋 (commit)

git에게 두 단계로 알려줘요. 먼저 add로 "이 파일들 다음 세이브에 포함시켜"라고 알리고, commit으로 "지금 세이브해"라고 시켜요.

git add .
git commit -m "초기 빌드킷 적용"

git add .의 마침표는 "현재 폴더의 모든 변경 사항"이라는 뜻이에요. git commit -m "..."에서 따옴표 안의 메시지는 본인이 자유롭게 적는 한 줄 요약이에요. 한국어 OK. 영어 OK. 나중에 본인이 봤을 때 "아, 이때 뭘 했구나" 알아볼 수 있을 정도로 적으세요.

성공 응답 예시:

[main (root-commit) abc1234] 초기 빌드킷 적용
 N files changed, M insertions(+)
📷 캡쳐 — git add . 후 git status (깨끗한 상태) → git commit 실행 → 성공 응답 시퀀스.
첫 세이브 포인트가 영원히 새겨졌어요.

단계 6 — 이력 확인 (log)

git log --oneline

이렇게 한 줄 출력이 떠요:

abc1234 (HEAD -> main) 초기 빌드킷 적용

앞의 abc1234는 이 세이브의 고유 ID예요. 나중에 본인이 "그 세이브로 돌아가고 싶다" 할 때 이 ID로 호출해요. 지금은 외울 필요 없어요. git log가 다 알려줘요. git log 화면에서 빠져나오려면 q를 누르세요. (q = quit)

자주 쓰는 git 명령 5개 — 한눈 정리

명령 언제 한 문장
git init 새 폴더 시작 시 한 번 "이 폴더를 git이 관리하게 해줘"
git status 아무 때나 자주 "지금 어떤 파일이 변경됐어?"
git add . commit 직전 "이번 세이브에 모든 변경 사항 포함"
git commit -m "..." 의미 있는 단위로 자주 "지금 세이브하고 메모 남겨줘"
git log --oneline 이력 확인 시 "지금까지 한 세이브 목록 줘"
🎨 생성 (Codex CLI) — git 5명령 흐름 다이어그램 (init → status → add → commit → log 사이클).

언제 commit해야 하나요? — 간단한 규칙

규칙 한 줄: "한 가지 일이 의미 있게 끝났을 때마다."

  • 회원가입 페이지 만들기 끝 → commit ("회원가입 페이지 추가")
  • 버튼 색을 베이지로 바꿈 → commit ("버튼 색 베이지로")
  • 버그 한 개 고침 → commit ("로그인 버튼 안 눌리는 버그 수정")

하루에 5~20개 commit 정도가 보통이에요. 너무 자주 해도 OK, 너무 안 해도 위험해요. "AI에게 큰 작업 시키기 직전에는 반드시 commit" 만 지키면 안전해요.

자주 발생하는 문제 + 해결

"Please tell me who you are" 에러"

git commit 시 git이 본인 정보를 모를 때 나와요. 단계 2의 git config --global user.name/email을 안 했거나 잘못 했을 가능성. 다시 설정 후 commit 재시도.

"nothing to commit, working tree clean"

변경된 파일이 없다는 뜻이에요. git add .를 안 했을 가능성, 또는 정말 변경한 게 없을 가능성. git status로 먼저 확인.

"git log 화면이 안 끝나요 / q 눌러도 안 닫혀요"

q를 영문 모드에서 입력해야 해요. 한글 입력 모드면 안 먹혀요. 한영 키 한 번 누르고 다시 q.

"vim이라는 화면이 떠서 못 빠져나가요"

git commit-m "메시지" 없이 그냥 git commit만 입력하면 vim이라는 검은 에디터가 떠요. 빠져나오는 법: Esc:q! → 엔터. (또는 메시지 적고 싶으면 i 눌러서 입력 → Esc:wq → 엔터.) 이런 일 안 만들려면 항상 -m "메시지"를 같이 쓰세요.

".git 폴더가 안 보여요"

정상이에요. 점(.)으로 시작하는 폴더는 OS 기본 숨김 처리. Antigravity 좌측 트리에는 보일 거예요. Finder/탐색기에서 안 보여도 git은 잘 작동해요.

"AI가 시킨 코드가 망가졌어요. 직전 상태로 어떻게 되돌리죠?"

가장 쉬운 방법: Claude Code 채팅에 그냥 한국어로 말하기. "직전 commit 상태로 되돌려줘" 또는 "git에서 마지막 커밋으로 reset hard 해줘"라고 부탁하면 Claude가 안전한 명령을 알려줘요. 핵심: 본인이 commit을 자주 해 뒀을수록 되돌리기가 쉬워져요.

자가 진단 — 통과 기준

  • git --version 응답이 정상 출력됨
  • git config --global user.name/email로 본인 정보 등록됨
  • 본인 빌드킷 폴더에서 git init 실행됨 (.git 폴더 생성)
  • "초기 빌드킷 적용" 같은 첫 커밋이 만들어짐 (git log --oneline로 확인)
  • git 5명령(init/status/add/commit/log)을 한 번씩 직접 입력해 봤음

다음 단계 → 4-4 /setup 명령어 — 빌드킷 셋업 + 문제 대응

이제 환경(Antigravity + Claude Code + git)이 다 깔렸어요. 다음 레슨부터 본격적으로 빌드킷이 일을 시작해요. 첫 명령은 /setup이에요. 빌드킷이 자동으로 의존성 설치, DB 셋업, 환경변수 템플릿을 만들어 줘요. 이 단계에서 자주 발생하는 문제(의존성 실패 / Ruby 버전 / 권한 / .env 없음) 5가지도 한 번에 풀어요.