5회 · Git과 GitHub: 실수해도 괜찮은 안전망
저장소·커밋·푸시·.gitignore를 게임 세이브에 빗대어 이해하고, Claude Code에게 말로 커밋과 되돌리기를 시킨 뒤 내 웹앱을 GitHub에 올립니다.
“Git은 게임의 세이브 포인트, GitHub는 그 세이브를 올려 두는 클라우드다.”
학습 목표
- 저장소·커밋·푸시·.gitignore를 설명한다
- Claude Code에게 커밋과 되돌리기를 말로 시킨다
- 내 웹앱을 GitHub 저장소에 올린다
오늘 만드는 것: 커밋 이력이 쌓인 GitHub 저장소
실습 진도
—
실습 단계를 체크하면 표시돼요
오늘의 흐름
| 시간 | 내용 | 하는 일 |
|---|---|---|
| 0–10분 | 지난 시간 돌아보기 | 개발 서버 다시 켜기, 과제 나누기 |
| 10–35분 | 왜 Git이 필요한가 | 세이브 포인트, 저장소, 커밋 |
| 35–50분 | GitHub: 클라우드 금고 | 푸시, 공개와 비공개 |
| 50–60분 | 올리면 안 되는 것 | .gitignore, 비밀 키 |
| 60–70분 | 쉬는 시간 | GitHub 가입이 안 된 분은 이때 |
| 70–110분 | 실습 | 저장소 만들기 → 커밋 → 망치고 되돌리기 → GitHub에 올리기 |
| 110–120분 | 정리와 과제 | 퀴즈, 다음 시간 예고 |
왜 Git이 필요한가
"최종_진짜최종_수정2.docx"의 비극
이런 파일 이름, 한 번쯤 만들어 보셨을 겁니다.
안내문.docx
안내문_최종.docx
안내문_최종_수정.docx
안내문_최종_진짜최종.docx어느 것이 진짜 최신인지, 무엇이 바뀌었는지, 어제 버전으로 돌아가려면 어떻게 하는지 알 수 없습니다. 웹앱은 파일이 수십 개라 이 방식으로는 감당할 수 없습니다.
Git: 게임의 세이브 포인트
은 폴더의 변경 기록을 저장하는 도구입니다. 전 세계 개발자 대부분이 씁니다.
게임의 세이브 포인트
어려운 보스를 만나기 전에 저장해 두면, 져도 그 자리에서 다시 시작할 수 있습니다. Git의 커밋이 바로 세이브입니다. 잘 돌아갈 때마다 저장해 두면, 무엇을 망쳐도 그때로 돌아갈 수 있습니다.
3회에 배운 Claude Code의 되돌리기(Esc 두 번)는 이번 대화 안에서만 통하는 임시 되돌리기입니다. Git은 며칠, 몇 달 전으로도 돌아갈 수 있는 튼튼한 기록입니다.
| Claude Code 되돌리기 | Git | |
|---|---|---|
| 얼마나 오래 | 주로 지금 대화 안 | 영원히 (지우지 않는 한) |
| 무엇을 | Claude Code가 고친 파일 | 폴더 전체 |
| 언제 저장 | 자동 | 내가 커밋할 때 |
| 다른 컴퓨터로 | 안 됨 | GitHub로 가능 |
꼭 알아야 할 말 네 개
| 말 | 뜻 | 게임으로 치면 |
|---|---|---|
| Git이 기록을 남기는 폴더 | 세이브 파일이 있는 게임 | |
| 지금 상태를 이름 붙여 저장 | 세이브 하나 ("보스 앞") | |
| 커밋 이력 | 지금까지의 세이브 목록 | 세이브 슬롯 목록 |
| 내 기록을 GitHub에 올리기 | 클라우드 세이브 |
아래 시뮬레이터에서 기능을 하나씩 더하며 커밋해 보고, 일부러 망친 뒤 이전 커밋으로 돌아가 보세요.
파일을 바꾸고, 커밋하고, 망가뜨린 뒤 과거 커밋을 눌러 되살려 보세요. [푸시]하면 GitHub에도 복사됩니다.
지금 내 PC의 파일
우리 모임
- · 모임 일정 목록
- · 참석 인원 표시
내 PC (로컬 저장소)
GitHub (원격 저장소)
아직 푸시하지 않았어요.
작업 내용을 바꾸고 [커밋]으로 세이브 포인트를 만들어 보세요.
커밋 메시지: 미래의 나에게 쓰는 메모
커밋할 때는 무엇을 바꿨는지 한 줄 메모를 남깁니다. Claude Code에게 맡기면 알아서 써 주지만, 좋은 메시지가 무엇인지는 알아 두세요.
아쉬운 요청
수정
한 달 뒤에 보면 무엇을 고쳤는지 전혀 알 수 없습니다.
좋은 요청
모임 카드에 남은 자리 표시 추가
무엇이 바뀌었는지 한눈에 보입니다. 되돌릴 시점을 찾기도 쉽습니다.
명령어는 외우지 않아도 됩니다
Git은 원래 검은 창에 명령어를 입력해서 씁니다. 하지만 이 과정에서는 Claude Code에게 말로 시킵니다. "커밋해줘", "이력 보여줘", "어제로 되돌려줘". 무슨 명령을 실행하는지는 승인 창에서 확인하면 됩니다.
GitHub: 클라우드 금고
Git과 GitHub는 다르다
| Git | ||
|---|---|---|
| 무엇 | 기록을 남기는 도구 | 기록을 올려 두는 인터넷 서비스 |
| 어디에 | 내 컴퓨터 | 인터넷 (클라우드) |
| 비유 | 사진기 | 사진을 올려 두는 클라우드 앨범 |
컴퓨터가 고장 나도
내 컴퓨터에만 세이브가 있으면, 컴퓨터가 고장 나는 순간 모두 사라집니다. GitHub에 올려 두면 다른 컴퓨터에서도 이어서 할 수 있습니다. 그리고 6회에는 GitHub에 올린 것을 그대로 인터넷에 공개합니다.
공개와 비공개
GitHub 저장소는 공개(public) 또는 **비공개(private)**로 만들 수 있습니다.
| 공개 | 비공개 | |
|---|---|---|
| 누가 보나 | 인터넷의 누구나 | 나와 내가 초대한 사람만 |
| 좋은 점 | 포트폴리오로 보여 줄 수 있다 | 마음 편히 연습할 수 있다 |
| 주의 | 비밀 키나 개인정보가 절대 들어가면 안 된다 | 그래도 비밀 키는 넣지 않는다 |
처음에는 비공개를 추천합니다. 나중에 언제든 공개로 바꿀 수 있습니다.
로그인은 언제나 내가 직접
GitHub에 올리려면 로그인이 필요합니다. 비밀번호나 인증 코드는 언제나 본인이 직접 입력합니다. Claude Code에게는 "방법만 알려줘, 로그인은 내가 할게"라고 하세요.
올리면 안 되는 것
.gitignore: 금고에 넣지 않을 목록
폴더 안에는 GitHub에 올리면 안 되는 파일도 있습니다. 그 목록을 적어 두는 파일이 입니다.
| 올리면 안 되는 것 | 왜 |
|---|---|
.env 같은 비밀 파일 | 비밀번호, API 키가 들어 있다 (8회, 10회에 다룸) |
| 개인정보가 든 파일 | 회원 명단, 연락처 |
node_modules 폴더 | Next.js 부품 수만 개. 언제든 다시 내려받을 수 있다 |
| 큰 사진·영상 | 저장소가 무거워진다 |
이사할 때 짐 싸기
이사 갈 때 가스 밸브나 집 열쇠 사본을 상자에 넣어 택배로 보내지 않지요. .gitignore는 "이건 택배로 보내지 마" 목록입니다.
한 번 올라간 비밀은 지워도 남는다
Git은 모든 기록을 남기는 도구라서, 비밀 키가 든 파일을 한 번 커밋해 올리면 나중에 지워도 이전 기록에 그대로 남습니다. 그래서 순서가 중요합니다.
- 저장소를 만들 때 .gitignore부터 넣습니다.
- 올리기 전에 점검합니다.
- 실수로 올렸다면 키를 새로 발급합니다. 지우는 것만으로는 부족합니다.
.env 파일이 GitHub에 올라간 것 같아. 저장소에서 지우고 .gitignore에 추가해줘. 그리고 다시 발급해야 할 키 목록과 방법을 알려줘.
요즘 업계에서는
1억 8천만 명이 쓰는 금고
GitHub의 Octoverse 2025 보고서에 따르면 GitHub에서 일하는 개발자는 1억 8천만 명이 넘고, 2025년 한 해 동안 약 10억 번의 커밋이 올라왔습니다. 평균 1초에 한 명 이상이 새로 가입했다고 합니다 (Octoverse 2025). 오늘 여러분도 그중 한 명이 됩니다.
AI가 많이 만들수록 기록이 더 중요해진다
AI 에이전트는 몇 분 만에 파일 수십 개를 바꿉니다. 빠른 만큼 실수도 빠르게 퍼집니다. 그래서 요즘 AI로 개발하는 사람들은 작게 바꾸고 자주 커밋하는 습관을 가장 기본으로 꼽습니다. 2025년 7월 한 AI 코딩 서비스가 운영 데이터베이스를 지운 사건(Wikipedia — Vibe coding)도, 되돌릴 수 있는 기록이 얼마나 중요한지 보여 줍니다.
비밀 키 유출은 생각보다 흔하다
보안 회사 GitGuardian의 2025년 보고서에 따르면, 2024년 한 해 동안 공개 GitHub 저장소에서 2,380만 건의 비밀 정보(비밀번호, API 키 등)가 새어 나왔고, 2022년에 새어 나간 비밀의 70%가 여전히 쓸 수 있는 상태였습니다 (The State of Secrets Sprawl 2025). 전문가들도 하는 실수입니다. 처음부터 .gitignore를 넣고, 올리기 전에 점검하는 습관이 가장 확실한 예방입니다.
시연
강사가 4회의 "우리 모임" 웹앱 폴더를 Git 저장소로 만들고 첫 커밋을 합니다. 모임 카드 색을 바꾸고 두 번째 커밋을 한 뒤, 일부러 화면을 망가뜨립니다. "마지막 커밋 상태로 되돌려줘" 한마디로 돌아오는 것을 보여 주고, 마지막으로 GitHub에 비공개 저장소를 만들어 올립니다. GitHub 웹사이트에서 커밋 이력이 그대로 보이는 것도 확인합니다.
실습
준비: GitHub에 가입해 두세요. Windows는 Git for Windows 설치가 필요할 수 있습니다. 설치 여부는 Claude Code에게 물어보면 알려 줍니다.
실습 5-1 · 저장소 만들고 첫 커밋
약 15분첫 세이브 포인트를 만듭니다. .gitignore부터.
Claude 데스크톱 앱 Code 탭에서 4회의
our-moim폴더를 엽니다.PROMPT개발 서버 켜고 주소 받기이 웹앱을 내 컴퓨터에서 실행해줘. 실행되면 브라우저로 열 주소를 알려주고, 끄는 방법도 알려줘.
브라우저에서 웹앱이 잘 보이면, 이 상태를 첫 세이브로 남깁니다.
"Git이 설치돼 있는지 확인하고, 없으면 설치 방법을 알려줘"라고 물어보세요.
막혔을 때- PROMPTGit 저장소 시작하기
이 폴더를 Git 저장소로 만들고 첫 커밋해줘. 비밀번호나 키가 담길 .env 파일은 올라가지 않게 .gitignore에 넣어줘.
이렇게 되면 성공✓ Git 저장소를 만들었습니다.✓ .gitignore 확인: node_modules, .next, .env* 가 올라가지 않습니다.✓ 첫 커밋: "우리 모임 웹앱 첫 버전" (파일 18개)
실습 5-2 · 고치고, 커밋하고, 이력 보기
약 15분잘 될 때마다 세이브. 이것이 가장 중요한 습관입니다.
"모임 카드에 남은 자리를 크게 보여줘"처럼 하나를 고친 뒤, 무엇이 바뀌었는지 확인합니다.
한 번 더 다른 것을 고치고 커밋해 보세요. 세이브가 세 개가 됩니다.
- 이렇게 되면 성공날짜 메시지2026-10-29 15:42 모임 상세에 장소 지도 링크 추가2026-10-29 15:30 모임 카드에 남은 자리 크게 표시2026-10-29 15:12 우리 모임 웹앱 첫 버전
실습 5-3 · 일부러 망치고 되돌리기
약 10분망쳐도 괜찮다는 것을 직접 확인합니다.
"모든 화면을 지우고 '공사 중' 한 줄만 남겨줘"라고 부탁해 보세요. 브라우저에서 웹앱이 사라진 것을 확인합니다. 걱정하지 마세요.
브라우저를 새로 고쳐 웹앱이 돌아왔는지 확인하세요. 이번에는 Claude Code의 되돌리기가 아니라 Git의 기록으로 돌아왔습니다.
막혔을 때
실습 5-4 · GitHub에 올리기
약 10분클라우드 금고에 올립니다. 6회 공개의 준비입니다.
- PROMPT올리면 안 되는 파일 점검
GitHub에 올리기 전에 점검해줘. 비밀번호·키가 든 파일(.env 등), 개인정보가 든 파일, 너무 큰 파일이 커밋에 들어가 있는지 확인하고, 있으면 .gitignore에 넣는 방법을 제안해줘. 아직 고치지는 말고 결과만 보여줘.
이렇게 되면 성공점검 결과✓ .env 파일 없음 (있어도 .gitignore에 포함됨)✓ node_modules 제외됨✓ 개인정보로 보이는 파일 없음 (가짜 모임 데이터만 있음)→ 올려도 괜찮습니다. - PROMPTGitHub에 올리기
GitHub에 'our-moim'라는 저장소를 만들고 푸시해줘. 공개(public)로 할지 비공개(private)로 할지 먼저 물어봐줘. 로그인이 필요하면 방법만 알려줘, 로그인은 내가 할게.
GitHub 로그인 창이 뜨면 본인이 직접 로그인하세요. 브라우저가 열리며 "인증할까요?"라고 물으면 내용을 읽고 승인합니다.
막혔을 때 github.com에 로그인해 내 저장소를 열어 보세요. 파일 목록과 커밋 이력이 그대로 올라가 있습니다.
.env나node_modules가 보이지 않는 것도 확인하세요.
정리
핵심 정리
- 1Git은 세이브 포인트, GitHub는 클라우드 금고. 잘 될 때마다 커밋한다.
- 2커밋 메시지는 미래의 나에게 쓰는 메모. 무엇을 바꿨는지 적는다.
- 3망쳐도 괜찮다. 마지막 커밋으로 언제든 돌아갈 수 있다.
- 4.gitignore부터 넣고, 올리기 전에 점검. 한 번 올라간 비밀은 지워도 남는다.
- 5로그인과 인증은 언제나 내가 직접 한다.
다음 시간에는 GitHub에 올린 웹앱을 인터넷 주소로 공개합니다. 커밋하고 푸시하면 1–2분 뒤 친구 휴대폰에서도 바뀐 화면이 보이게 됩니다.
복습
Q1.Git의 "커밋"을 게임에 비유하면?
Q2.Git과 GitHub의 관계로 알맞은 것은?
Q3.비밀 키가 든 .env 파일을 실수로 GitHub에 올렸다면, 파일만 지우면 안전하다.
Q4..gitignore 파일의 역할은?
Q5.좋은 커밋 메시지는?
Q6.처음 GitHub에 올리기까지의 안전한 순서를 맞춰 보세요.(순서대로 정렬)
- 1첫 커밋
- 2GitHub에 푸시
- 3올리면 안 되는 파일 점검
- 4.gitignore 넣고 저장소 만들기
과제
과제 · 세이브 포인트 다섯 개
"우리 모임" 웹앱을 조금씩 고치며 커밋을 다섯 개 더 쌓아 보세요. 그중 한 번은 일부러 망치고 되돌려 보세요. 커밋 메시지 목록과 GitHub 저장소 주소를 적어 오세요.