← 자료실 홈
INSTRUCTOR GUIDE · CHAPTER 09

9장 교수자용
강의 가이드

학생용 20개 슬라이드와 1:1로 대응합니다. 비밀 검문, 안전한 업로드, 커밋·푸시, 파괴 테스트와 복구를 통해 GitHub를 ‘금고와 타임머신’으로 이해하도록 설계했습니다.

150분권장 수업시간
20장학생용 슬라이드 대응
5단계안전 업로드 워크플로
2회사전·사후 보안 검문

수업 설계 개요

9장은 Git 명령어 암기 수업이 아닙니다. 학습자가 ‘올리기 전에 검문하고, 잘될 때 세이브하며, 망가지면 안정 시점으로 돌아가는’ 운영 습관을 갖게 하는 장입니다.

1차시 · 75분

  • 도입·Git/GitHub 개념 15분
  • 계정·저장소 10분
  • .gitignore 보안 검문 20분
  • 인증·첫 업로드 20분
  • 사람 재검문 10분

2차시 · 75분

  • 커밋·푸시 10분
  • 파괴·복구 25분
  • 저장 자동화 15분
  • 공개 공유 15분
  • 정리·10장 연결 10분

수업 전 준비

환경·계정

  • GitHub 계정과 정확한 Username
  • 정상 실행되는 qa-board 실습 복사본
  • Git·GitHub CLI 설치 가능 환경
  • 브라우저 일반 창과 시크릿 창
  • 안정 버전 커밋 전 파괴 실습 금지

보안·안전

  • 실제 API Key·인증 코드를 화면에 노출하지 않음
  • .env·data·logs에 교육용 비민감 자료만 사용
  • 노출 키 폐기·재발급 경로 사전 확인
  • 공용 PC에서는 인증 후 반드시 로그아웃
  • 실제 운영 저장소가 아닌 실습본에서 파괴 테스트

공통 평가 원칙

검문민감 파일을 사전 차단하고 업로드 후 다시 확인했는가?
세이브커밋과 푸시를 구분하고 안정 시점에 이름표를 붙였는가?
복구AI의 추측이 아닌 지정 커밋으로 복귀하고 기능을 재검증했는가?

핵심 오개념 대응

Git = GitHub?

Git은 내 컴퓨터의 변경 이력 기술, GitHub는 그 이력을 보관하는 인터넷 금고입니다.

.gitignore = 과거 비밀 삭제?

아닙니다. 이미 노출된 키는 즉시 폐기·재발급하고 이력 제거를 별도로 처리해야 합니다.

Private = 비밀 저장소?

가시성 제한일 뿐입니다. 비밀·개인정보를 커밋하지 않는 원칙은 동일합니다.

GitHub = 서비스 배포?

저장소는 코드 보관함입니다. 실행 가능한 공개 URL은 10장 Vercel에서 만듭니다.

슬라이드별 교수 지침

01
직접 코딩 0% — CLAUDE CODE로 진짜 서비스 만들고 배포·운영까지

9장. GitHub 입문

2분

교육 의도

GitHub 장의 목표를 금고·세이브·검문 습관으로 제시한다.

핵심 설명

Git 명령 암기가 아니라 코드 사본, 안정 시점, 업로드 전 보안 검문을 얻는 장이다.

발문·활동

컴퓨터 고장과 코드 손상 중 지금 더 대비되지 않은 위험을 묻는다.

오개념·주의

GitHub를 배포 서비스로 소개하지 않는다. 현재는 코드 보관과 복구의 출발점이다.

교수자 확인 기준

세 가지 학습 성과를 말한다.

연결 문장먼저 코드가 한 곳에만 있는 위험을 체감한다.
02
9장

2

3분

교육 의도

단일 로컬 사본의 취약성을 문제로 인식한다.

핵심 설명

컴퓨터 고장과 AI의 잘못된 수정은 서로 다른 사고지만 둘 다 현재 사본만 있으면 전체 손실로 이어진다.

발문·활동

잘 작동하던 어제 상태로 돌아갈 수 있는지 자가 점검하게 한다.

오개념·주의

파일 복사만으로는 변경 이력과 안정 시점의 이름표가 남지 않는다.

교수자 확인 기준

외부 사본과 복구 지점이 필요한 이유를 설명한다.

연결 문장장의 전체 흐름을 검문–저장–복구로 본다.
03
9장의 흐름

검문하고, 세이브하고, 되돌립니다

3분

교육 의도

9장의 절차를 PROTECT와 SAVE·RESTORE·SHARE로 구조화한다.

핵심 설명

먼저 비밀을 거르고 비공개 저장소에 올린 뒤, 사람 확인·커밋·복구·공유로 확장한다.

발문·활동

단계 중 사람 확인이 두 번 필요한 위치를 찾게 한다.

오개념·주의

업로드 성공 메시지를 검문 완료로 오해하지 않게 한다.

교수자 확인 기준

일곱 절과 5단 학습 리듬을 연결한다.

연결 문장PM2와 Git·GitHub가 해결하는 사고를 구분한다.
04
9.1 GitHub이 필요한 이유

6장의 안전벨트는 절반만 채워져 있었습니다

6분

교육 의도

안전벨트의 두 반쪽을 구분한다.

핵심 설명

PM2는 죽은 프로세스를 재시작하고 Git은 로컬 세이브 이력, GitHub는 그 이력의 인터넷 사본을 보관한다.

발문·활동

서버는 online인데 화면이 망가진 사례에 어떤 장치가 필요한지 묻는다.

오개념·주의

커밋만 하고 푸시하지 않은 내용은 GitHub에 없다. Git이 추적하지 않는 데이터도 함께 복구되지 않는다.

교수자 확인 기준

프로세스 중단·코드 손상·PC 고장을 각각 올바른 장치에 연결한다.

연결 문장세이브 포인트가 다음 장 배포와 공유의 출발점이 된다.
05
9.1 GitHub이 필요한 이유

게임의 세이브 , 그리고 금고의 두 가지 보너스

5분

교육 의도

GitHub의 범위를 초보자 관점에서 제한해 부담을 낮춘다.

핵심 설명

이 장에서는 협업 기능보다 금고와 배포 출발점 두 역할만 배운다. 큰 수정 전과 정상 상태에서 세이브한다.

발문·활동

보스전 직전 세이브에 해당하는 프로젝트 순간을 예로 받는다.

오개념·주의

브랜치·PR을 미리 깊게 설명하지 않는다. 일부는 11장에서 다시 다룬다.

교수자 확인 기준

세이브 시점과 두 가지 보너스를 설명한다.

연결 문장금고를 쓰기 위한 계정과 저장소 공개 범위를 정한다.
06
9.2 GitHub 계정 만들기

금고 열쇠 받기 — 아이디는 잠시 고민할 가치 가 있습니다

8분

교육 의도

계정·Username·저장소·가시성의 기본을 익힌다.

핵심 설명

프로젝트 하나가 저장소 하나이며 Username은 공개 주소가 된다. 망설여지면 private로 시작한다.

발문·활동

qa-board와 my-plugins의 가시성을 각각 선택하고 이유를 말하게 한다.

오개념·주의

Private도 비밀 저장소가 아니다. 향후 공개·초대·계정 침해를 고려해 키는 넣지 않는다.

교수자 확인 기준

계정과 qa-board private 원칙을 확인한다.

연결 문장업로드 전에 이 장의 가장 중요한 보안 원칙을 세운다.
07
9.3.1 이 장에서 가장 중요한 이야기

금고에 비밀번호를 넣지 마라

8분

교육 의도

비밀·개인정보를 애초에 Git 이력에 넣지 않는 원칙을 내면화한다.

핵심 설명

.env, data, logs는 반입 금지다. 현재 화면에서 삭제해도 과거 커밋에 남을 수 있다.

발문·활동

이미 키가 올라갔다면 첫 조치가 파일 삭제인지 키 폐기인지 묻는다.

오개념·주의

실제 키를 수업 화면·캡처·채팅에 노출하지 않는다. 예시는 반드시 마스킹한다.

교수자 확인 기준

반입 금지 대상과 노출 시 키 폐기·재발급을 말한다.

연결 문장첫 커밋 전에 .gitignore 검문을 실행한다.
08
9.3.1 검문 실행

올리기 전에 — 검문을 시킵니다

10분

교육 의도

AI 검문과 .gitignore의 역할·한계를 이해한다.

핵심 설명

민감 파일을 찾아 제외 이유를 보고하게 하고 git 상태로 추적 여부를 확인한다. 업로드 후에는 사람이 실제 목록을 재검문한다.

발문·활동

.gitignore를 나중에 추가하면 과거 기록도 사라지는지 질문한다.

오개념·주의

이미 추적된 파일은 .gitignore만으로 제거되지 않는다. 노출된 자격정보는 회전해야 한다.

교수자 확인 기준

.env·data·logs·node_modules 제외와 사람 재검문을 확인한다.

연결 문장검문 후 private 저장소 업로드를 요청한다.
09
9.3.2 올리기

"GitHub에 올려줘" — 그리고 두 가지 준비

8분

교육 의도

자연어 업로드 지시에서 필요한 조건과 사람 역할을 명확히 한다.

핵심 설명

계정·저장소명·private·첫 사용·완료 URL을 지정한다. 도구 점검은 AI가 돕지만 설치 승인과 인증은 사람이 한다.

발문·활동

프롬프트에 private를 쓰지 않으면 어떤 위험이 생기는지 묻는다.

오개념·주의

계정명을 실제 사용자 값으로 바꾸고 URL 공개 시 개인정보 노출에 유의한다.

교수자 확인 기준

도구 설치와 인증을 구분하고 저장소 URL을 받는다.

연결 문장일회용 코드로 이 컴퓨터를 GitHub 계정에 인증한다.
10
9.3.2 인증 — 기기 등록 5단계

일회용 코드로 내 컴퓨터에 도장 찍기 (그림 9.8~9.15)

12분

교육 의도

GitHub CLI의 대화형 인증을 안전하게 수행한다.

핵심 설명

일반 터미널에서는 앞의 !를 빼고 gh부터 입력한다. 일회용 코드를 브라우저에서 승인한 뒤 Claude Code에 완료를 알린다.

발문·활동

브라우저에 다른 계정이 로그인돼 있으면 어떤 저장소에 올라갈지 묻는다.

오개념·주의

일회용 코드도 화면 공유하지 않는다. 시크릿 창이나 로그아웃으로 계정을 확인한다.

교수자 확인 기준

올바른 계정·코드 승인·인증 완료·작업 재개를 확인한다.

연결 문장업로드 보고를 믿는 데서 끝내지 않고 브라우저에서 재검문한다.
11
9.3.2 업로드 후 — 사람의 검문

무엇이 올라갔는지보다, 무엇이 올라가지 않았는지

8분

교육 의도

업로드 후 ‘보이지 않아야 할 것’을 사람이 확인한다.

핵심 설명

코드와 CLAUDE.md·.claude는 보이고 .env·data·logs는 보이지 않아야 하며 Private 표시도 확인한다.

발문·활동

무엇이 올라갔는가와 무엇이 안 올라갔는가 중 더 중요한 검문을 고르게 한다.

오개념·주의

.env가 보이면 먼저 키를 폐기·재발급하고 이력 제거를 처리한다. 단순 삭제로 종료하지 않는다.

교수자 확인 기준

네 가지 확인을 저장소 화면에서 직접 수행한다.

연결 문장안전한 업로드가 끝났으니 세이브와 금고 전송을 구분한다.
12
9.4 세이브 포인트와 시간 여행

용어는 딱 두 개 — 커밋과 푸시

7분

교육 의도

커밋과 푸시를 두 개의 핵심 용어로 익힌다.

핵심 설명

커밋은 현재 상태와 이름표를 로컬에 남기는 세이브, 푸시는 그 이력을 GitHub로 보내는 동작이다.

발문·활동

‘수정함’과 ‘안정 버전: 게시판 전체 기능 완성’ 중 복구에 유리한 메시지를 고르게 한다.

오개념·주의

커밋 완료를 원격 백업 완료로 오해하지 않는다. 푸시 결과도 확인한다.

교수자 확인 기준

커밋 메시지와 원격 반영을 확인한다.

연결 문장복구 능력을 증명하기 위해 안전한 실습 복사본을 일부러 망가뜨린다.
13
9.4 파괴 테스트

일부러 망가뜨린다 — "고장난 게시판"

10분

교육 의도

의도적 장애 주입으로 복구 전 상태를 명확히 만든다.

핵심 설명

안정 커밋을 확인한 뒤 제목과 목록을 망가뜨리고 별도 커밋한다. 브라우저에서 실제 오류를 본다.

발문·활동

왜 ‘고장났다고 가정’하지 않고 화면에서 확인해야 하는지 묻는다.

오개념·주의

실제 운영 저장소나 미저장 작업에서 실행하지 않는다. 작업 중 내용은 먼저 보관한다.

교수자 확인 기준

안정 지점·고장 커밋·망가진 화면 세 증거를 확인한다.

연결 문장AI의 기억으로 고치지 않고 지정한 안정 시점으로 되돌린다.
14
9.4 시간 여행

코드를 "고친" 게 아니라 — 시간을 되돌렸다

10분

교육 의도

커밋 기반 복구가 추측 수정과 다른 점을 체험한다.

핵심 설명

무엇을 망가뜨렸는지 몰라도 안정 커밋을 기준으로 로컬을 되돌린다. 새로고침 후 질문 등록까지 회귀 확인한다.

발문·활동

되돌린 뒤 제목만 정상이라면 복구 완료인지 묻는다.

오개념·주의

복구는 작업 중 변경을 잃을 수 있으므로 먼저 별도 보관한다. Git 비추적 데이터는 복구 범위 밖이다.

교수자 확인 기준

화면·목록·질문 등록과 원격 기준 일치를 확인한다.

연결 문장반복되는 안전 저장 절차를 규칙과 명령으로 자동화한다.
15
9.5 자동화

반복되는 지시는 — 규칙으로 만든다

8분

교육 의도

정상 확인과 비밀 검문을 포함한 저장 자동화를 설계한다.

핵심 설명

CLAUDE.md 규칙과 /저장 명령 모두 기능 검사→민감 파일 검사→커밋·푸시 순서를 따른다. 문제면 중단한다.

발문·활동

자동화에 ‘강제 푸시 금지’와 ‘변경 없음 중단’이 필요한 이유를 묻는다.

오개념·주의

CLAUDE.md는 지침이므로 누락될 수 있다. GitHub 실제 반영은 사람이 확인한다.

교수자 확인 기준

안전장치와 원격 커밋 생성을 확인한다.

연결 문장같은 흐름으로 공개 가능한 harness-kit를 세상과 공유한다.
16
9.6 공개 저장소로 남과 공유하기

8.5의 약속 회수 — 1인 장비점, 세계를 향해 개점

8분

교육 의도

public 저장소 공유에서 검문과 README 검증을 적용한다.

핵심 설명

my-plugins는 공유 목적이라 public으로 올리되 먼저 비밀·개인정보를 검사하고 실제 설치 절차를 README에 쓴다.

발문·활동

시크릿 창에서 저장소를 여는 검증이 무엇을 증명하는지 묻는다.

오개념·주의

공개 저장소는 되돌려도 이미 복사됐을 수 있다. 출처 불명의 플러그인 설치 위험도 상기한다.

교수자 확인 기준

로그아웃 공개 확인과 README 절차 일치를 검증한다.

연결 문장PM2·Git·GitHub가 합쳐 완성한 안전벨트를 정리한다.
17
9.7 이 장에서 달라진 것들 ①

안전벨트가 완성 되었습니다

5분

교육 의도

프로세스 복구·코드 복구·외부 사본을 종합한다.

핵심 설명

PM2는 재시작, Git·GitHub는 정상 코드 복귀, GitHub 금고는 PC 밖 사본을 제공한다. 검문과 자동화가 습관을 완성한다.

발문·활동

세 사고 시나리오에 알맞은 장치를 빠르게 매칭하게 한다.

오개념·주의

GitHub가 데이터베이스 백업까지 자동 수행한다고 설명하지 않는다.

교수자 확인 기준

세 장치와 사고 유형을 정확히 연결한다.

연결 문장이 장의 반복 가능한 업로드 워크플로로 압축한다.
18
9.7 이 장에서 달라진 것들 ②

이제 몸에 밴 업로드 워크플로

5분

교육 의도

검문–업로드–사람 확인–세이브–복구의 표준 절차를 정착시킨다.

핵심 설명

자동화가 있어도 사람 확인은 빠지지 않는다. 큰 수정 전과 잘 되는 순간에 커밋·푸시한다.

발문·활동

다섯 단계 중 생략할 경우 피해가 가장 큰 단계를 고르게 한다.

오개념·주의

검문과 확인을 같은 것으로 합치지 않는다. 전자는 사전 차단, 후자는 실제 결과 검증이다.

교수자 확인 기준

새 프로젝트에 5단계를 순서대로 적용한다.

연결 문장코드는 금고에 있지만 서비스는 아직 실행되지 않는다는 한계를 확인한다.
19
9.7 그러나 —

금고에 사본이 있을 뿐, 친구는 여전히 접속할 수 없다

3분

교육 의도

저장소와 배포 환경을 구분한다.

핵심 설명

GitHub URL은 코드 보관함이며 친구가 서비스를 사용하는 URL이 아니다. localhost 의존은 여전히 남아 있다.

발문·활동

저장소 페이지가 열리는 것과 서비스가 실행되는 것의 차이를 설명하게 한다.

오개념·주의

GitHub Pages 등 다른 기능과 혼동시키지 않고 이 책의 Vercel 경로에 집중한다.

교수자 확인 기준

코드 보관과 실행·배포의 차이를 말한다.

연결 문장다음 장에서 GitHub를 Vercel과 연결해 공개 URL을 만든다.
20
9장 마무리

NEXT · 10장. Vercel 배포 — 전 세계에 공개하기

3분

교육 의도

9장의 세 성과를 회고하고 10장의 자동 배포로 연결한다.

핵심 설명

금고, 타임머신, 검문 습관을 얻었다. 다음 장은 푸시 이후 Vercel이 자동 배포하는 뒤 반쪽이다.

발문·활동

오늘부터 적용할 개인 세이브 규칙을 한 문장으로 작성하게 한다.

오개념·주의

완료감을 주되 아직 운영·데이터·배포 검증이 남았음을 분명히 한다.

교수자 확인 기준

세 성과와 다음 장 흐름을 자기 말로 설명한다.

연결 문장수업 후 저장소 검문표와 복구 증거를 제출하게 한다.

종합 평가·수업 후 과제

기본Git/GitHub와 커밋/푸시를 구분한다.
적용민감 파일 검문 후 private 저장소에 안전하게 업로드한다.
검증안정 커밋으로 복구하고 브라우저 기능까지 재시험한다.
권장 제출물