작성자: 컴맹 집사
대표 이미지: 코드는 여러 파일로 나뉘어 있고, GitHub는 이 파일들을 보관한다 (사진: pexels / Pixabay)
이 글에서 얻는 것
- 이런 분께 파일 이름에 ‘최종’, ‘진짜 최종’이 쌓여 가는 분
- 핵심 답 GitHub는 고칠 때마다 언제, 무엇을, 왜 바꿨는지 기록이 남는 클라우드 폴더다. 파일은 하나만 두고 버전은 GitHub가 기억한다
- 바로 쓰는 팁 명령어가 어렵다면 버튼으로 쓰는 공식 프로그램 GitHub Desktop부터 설치하자
index-진짜최종-수정2.html
앱을 만든 지 사흘째, 내 폴더에 있던 파일 이름이다. 수정할 때마다 혹시 몰라 복사본을 만들었더니 어느새 열 개가 넘었다. 어제 잘 되던 버전이 어떤 파일인지 기억도 나지 않았다.
AI에게 이렇게 물었다.
파일 버전이 너무 많아져서 헷갈려. 어떻게 관리해?
돌아온 답의 첫 단어가 GitHub(깃허브)였다. 이름은 들어 봤지만 개발자들만 쓰는 무언가라고만 생각했던 서비스다.
처음 들은 설명은 하나도 이해가 안 됐다
인터넷에서 찾은 첫 설명은 이랬다.
GitHub는 Git 기반의 분산 버전 관리 시스템을 위한 원격 저장소 호스팅 서비스이다. (출처: GitHub 공식 문서)
한 문장에 모르는 단어가 다섯 개였다. 그래서 AI에게 다시 부탁했다. “코딩을 전혀 모르는 사람에게 비유로 설명해 줘.”
그 뒤에 들은 설명이 훨씬 와닿았다.
내가 이해한 GitHub
GitHub는 “앱 파일을 위한 기록이 남는 클라우드 폴더”다.
- 클라우드 폴더: 내 컴퓨터가 아니라 인터넷에 파일을 보관한다. 네이버 MYBOX나 구글 드라이브처럼.
- 기록이 남는다: 파일을 고칠 때마다 “언제, 무엇을, 왜 바꿨는지”가 기록된다. 예전 상태로 되돌리는 것도 가능하다.
구글 드라이브와 다른 점은 두 번째다. 드라이브는 파일을 덮어쓰면 끝이지만, GitHub는 수정 이력 전체를 차곡차곡 쌓아 둔다. 그래서 index-최종.html 같은 복사본을 만들 필요가 없다. 파일은 index.html 하나만 두고, 버전은 GitHub가 기억한다.
Git과 GitHub는 다른 것이었다
헷갈렸던 부분이 하나 더 있었다. Git과 GitHub가 같은 건 줄 알았다.
| 이름 | 쉽게 말하면 |
|---|---|
| Git(깃) | 파일의 변경 기록을 남기는 도구(프로그램) |
| GitHub(깃허브) | Git으로 남긴 기록을 인터넷에 보관하는 서비스(웹사이트) |
비유하자면 Git은 “일기 쓰는 방법”이고, GitHub는 “일기장을 보관하는 도서관”이다. 초보자 입장에서는 GitHub 웹사이트와 GitHub Desktop 프로그램만 쓰면 Git을 따로 공부하지 않아도 됐다.
새로 알게 된 단어, 저장소(repository)
GitHub에서 가장 먼저 만나는 단어가 repository(레포지토리), 줄여서 레포다. 우리말로는 저장소라고 한다.

출처: 앱 저장소(GitHub)의 실제 기록을 정리해 직접 제작
저장소는 프로젝트 하나를 담는 폴더라고 생각하면 된다. 강아지 앱 하나가 저장소 하나다. 나중에 다른 앱을 만들면 저장소를 새로 만든다.
GitHub를 시작한 순서
실제로 내가 한 순서를 적어 둔다.
1. 계정 만들기
github.com에 들어가 Sign up으로 가입했다. 이메일, 비밀번호, 사용자 이름을 정하면 된다. 사용자 이름은 나중에 주소에 들어가니 너무 이상하지 않게 짓는 걸 추천한다.
2. GitHub Desktop 설치
GitHub는 원래 명령어로 쓰는 경우가 많은데, 초보자에게는 GitHub Desktop이라는 프로그램이 훨씬 편했다. 버튼을 눌러서 쓸 수 있는 공식 프로그램이다. desktop.github.com에서 내려받아 설치하고, 방금 만든 계정으로 로그인했다.
3. 기존 앱 폴더를 저장소로 만들기
GitHub Desktop에서 File → Add local repository를 누르고, 앱 파일이 있는 kba-butler-app 폴더를 골랐다. “이 폴더는 아직 저장소가 아니다”라는 안내가 뜨면, 안내에 있는 create a repository 링크를 눌러 저장소로 만들면 된다.
4. 정리부터 했다
저장소를 만들기 전에 폴더 안의 index2.html, index-최종.html 같은 복사본을 전부 지우고, 제대로 돌아가는 index.html 하나만 남겼다. 이제부터는 GitHub가 버전을 기억해 줄 테니까.
처음엔 “이게 왜 필요하지?” 싶었다
솔직히 설정을 마친 직후에는 달라진 게 없어 보였다. 파일은 여전히 내 폴더에 있었고, 앱도 똑같이 열렸다. 괜히 복잡한 것만 하나 늘어난 기분이었다.
GitHub의 진가를 느낀 건 며칠 뒤였다. 결과 화면을 고치다가 앱이 완전히 망가졌는데, GitHub Desktop의 History 탭을 열어 보니 어제 저장해 둔 기록이 그대로 있었다. 거기서 망가지기 전 상태로 되돌리는 데 1분도 걸리지 않았다. 복사본 열 개를 뒤지던 때와는 비교가 안 됐다.
그때 확실히 알았다. GitHub는 앱을 위한 타임머신이었다. 저장할 때마다 그 순간의 앱을 사진처럼 찍어 두고, 일이 꼬이면 원하는 날짜로 돌아가면 된다. “진짜최종-수정2” 같은 파일 이름과는 이제 작별이다.
그리고 GitHub가 필요한 진짜 이유는 따로 있었다. 앱을 인터넷에 올리는 서비스(Vercel)가 GitHub에 있는 파일을 가져다 쓴다는 것. 이건 뒤에서 이어서 쓸 예정이다.
초보자가 알아 두면 좋은 것
- 저장소를 공개(Public)로 할지 비공개(Private)로 할지 고를 수 있다. 처음 연습하는 앱이라면 비공개로 해도 된다.
- 비밀번호나 개인 정보가 담긴 파일은 올리지 않는다. 공개 저장소는 누구나 볼 수 있다.
- GitHub에 올려도 내 컴퓨터의 파일은 그대로 있다. 옮기는 게 아니라 복사본과 기록을 보관하는 것이다.
GitHub를 쓰기 전과 후
일주일쯤 써 보고 달라진 점을 비교해 보면 이렇다.
| 전 | 후 |
|---|---|
| 수정할 때마다 복사본 파일 생성 | 파일은 하나, 버전은 기록으로 |
| 어느 파일이 최신인지 헷갈림 | History에서 날짜별로 확인 |
| 망가지면 복사본을 뒤져 복구 | 이전 기록으로 바로 되돌림 |
| 컴퓨터가 고장 나면 전부 사라질 위험 | 인터넷에 사본이 있어 안심 |
GitHub Desktop을 열자마자 또 모르는 버튼이 보였다. Commit과 Push. 저장만 하면 되는 줄 알았는데, 왜 버튼이 두 개나 더 있을까?
이전 글: AI에게 “앱 만들어 줘” 했더니 생긴 일, 첫 결과물과 시행착오
다음 글: 깃허브 저장·커밋·푸시, 셋 다 저장 아니었어? 컴맹이 헷갈린 차이 정리

