3장 — 코드를 클라우드에 올리기: GitHub 계정 만들기
3월 13일 목요일, 김진관 선생님은 교육청 주관 교원 연수에 참석했습니다. "AI 도구로 만드는 학급 자료" 분임 발표 시간에 class-2b 웹사이트를 스크린에 띄웠고, 영단어 퀴즈 카드가 뒤집히는 장면에서 강의실이 술렁였습니다. 쉬는 시간에 옆자리 박혜원 선생님이 다가왔습니다. "저도 체육 수업용 웹사이트 만들고 싶은데, 선생님 코드 좀 받아볼 수 있을까요?" 김진관 선생님은 가방을 뒤졌지만 USB가 없습니다. 프로젝트 파일은 80개가 넘어서 이메일로 보내기엔 너무 많습니다. 그 자리에서 노트북을 열고 GitHub 계정을 만들어 class-2b 저장소 주소 한 줄을 카카오톡으로 보냈습니다. 5분 만에 해결됐습니다.
GitHub은 코드를 위한 구글 드라이브입니다. 내 컴퓨터가 사라져도 코드는 그대로 살아남습니다.
이 챕터를 마치면 GitHub 계정을 만들고, 원격 저장소가 내 컴퓨터 폴더와 어떻게 연결되는지 박혜원 선생님에게 설명할 수 있습니다.
(1) GitHub 계정 만들기 — 프로필 주소가 처음 뜨는 순간
계정 만들기는 네이버나 카카오 가입과 같은 방식입니다. 이메일, 비밀번호, 사용자 이름 세 가지만 있으면 충분합니다. 지금 바로 따라 합니다.
- 브라우저 주소창에
github.com을 입력해 접속합니다. - 오른쪽 위
Sign up버튼을 누릅니다. - 이메일 주소를 입력합니다. 평소 쓰는 주소가 좋습니다. 학교 이메일보다는 개인 이메일이 편합니다.
- 비밀번호를 정합니다. 15자 이상 또는 숫자·소문자를 섞어 8자 이상이면 통과합니다.
- 사용자 이름(username)을 정합니다. 이 이름이 내 GitHub 주소가 됩니다.
jinkwan-kim으로 정하면 프로필 주소는github.com/jinkwan-kim이 됩니다. 영문 실명이나 평소 닉네임이 무난합니다. - 화면에 나오는 간단한 퍼즐(로봇 방지)을 풉니다.
- 이메일로 받은 6자리 인증번호를 입력합니다.
인증번호를 넣는 순간 프로필 페이지가 열립니다. 주소창에는 내 사용자 이름이 들어간 URL이 찍혀 있고, 아직 저장소는 하나도 없는 빈 화면이 보입니다. 이 순간이 첫 Quick Win입니다. 연수장에서든, 학교 컴퓨터실에서든, 집 노트북에서든 이 주소를 열면 내가 만든 코드 목록이 뜰 예정입니다. 김진관 선생님이 박혜원 선생님에게 보낸 카카오톡 한 줄은 이 주소의 변형이었습니다.
잘 안 되면? 인증번호 이메일이 안 와도 당황할 필요가 없습니다. 세 곳을 차분히 확인합니다. (1) 스팸함을 엽니다. GitHub 메일은 스팸함으로 자주 갑니다. (2) 입력한 이메일 주소에 오타가 없는지 봅니다. 숫자 1과 알파벳 l, 숫자 0과 알파벳 O를 자주 혼동합니다. (3) 3분이 지나면 만료됩니다.
Resend verification code링크를 눌러 새로 받습니다. 그래도 안 오면 다른 이메일 주소로 가입을 다시 시도합니다.
(2) 원격 저장소 — 카카오톡 그룹 앨범과 폰 사진첩의 관계
원격 저장소(remote repository)는 카카오톡 그룹 앨범과 같습니다. 폰으로 찍은 사진은 일단 폰 사진첩에 저장됩니다. 그룹방 앨범에 올리는 순간부터 같은 반 동료 교사도 봅니다. 폰이 고장 나도 앨범의 사진은 살아남습니다. 원격 저장소도 같은 역할을 합니다. 내 컴퓨터에서 찍은 커밋을 GitHub 서버에 올려 두면, 노트북이 고장 나도 코드와 히스토리가 그대로 남습니다. 연수장 태블릿에서도 내 GitHub 주소로 접속해 코드를 엽니다.
GitHub은 개인 사용에 무료입니다. 비공개(private) 저장소도 제한 없이 만듭니다. class-2b 저장소를 private으로 두면 학생 이름이 담긴 코드도 외부에 노출되지 않습니다. 2026년 기준 GitHub Education 프로그램에 학교 이메일로 가입하면 교사·학생 모두 GitHub Copilot도 무료로 씁니다. 이 부분은 이 책 후반부에서 다시 다룹니다.
(3) 로컬 vs 원격 — 푸시는 올리기, 풀은 내려받기
로컬 저장소는 내 컴퓨터 폴더, 원격 저장소는 GitHub 서버입니다. 두 곳은 자동으로 같아지지 않습니다. 카카오톡 그룹 앨범을 떠올리면 그림이 그려집니다. 내가 찍은 사진이 그룹방에 뜨려면 "올리기"를 눌러야 하고, 동료가 올린 사진을 내가 보려면 앨범을 "새로 고침"해야 합니다.
Git도 같습니다. 내 컴퓨터에서 커밋을 찍으면 로컬 저장소의 히스토리에만 한 줄이 추가됩니다. 이걸 GitHub에 올리려면 푸시(push)를 합니다. 반대로 학교 컴퓨터에서 누군가 커밋을 올렸다면, 집 노트북에서 풀(pull)을 해야 그 변경이 내려옵니다. 푸시는 올리기, 풀은 내려받기라고 외워 두면 됩니다.
잘 안 되면? 푸시 버튼을 눌렀는데 "Please enter a commit message" 같은 안내가 뜰 때가 있습니다. 아직 커밋을 한 번도 찍지 않았다는 뜻입니다. 푸시는 커밋을 올리는 동작이기 때문에, 올릴 커밋이 있어야 동작합니다. 변경 사항을 스테이징하고 커밋 메시지를 적은 뒤 커밋 버튼을 먼저 누른 다음 푸시를 다시 시도합니다.
이 챕터의 핵심 3줄
(1) GitHub 계정을 만드는 순간 내 프로필 주소가 생기고, 인증번호 입력 직후 프로필 페이지가 열립니다. (2) 원격 저장소는 카카오톡 그룹 앨범처럼 내 코드와 히스토리를 클라우드에 보관합니다. (3) 로컬은 내 컴퓨터, 원격은 GitHub 서버이며, 푸시는 올리기·풀은 내려받기로 두 곳을 같게 맞춥니다.
완료 체크리스트
- GitHub 계정을 만들고 내 프로필 주소를 안다
- 원격 저장소가 로컬과 어떻게 다른지 말로 설명한다
- 푸시가 올리기, 풀이 내려받기라는 방향을 구분한다
- private 저장소로 학급 자료를 외부 노출 없이 보관할 수 있음을 안다
다음 챕터 예고
4장에서는 내 컴퓨터와 GitHub 사이에 다리를 놓습니다. GitHub Desktop을 설치하고, 지금 만든 계정을 연결한 뒤, class-2b 저장소를 GitHub에 실제로 올리는 장면까지 클릭 몇 번으로 끝냅니다.