레포지토리(레포)가 뭐야? 깃허브 기본부터 5분 정리
깃허브 링크를 받아 들어갔는데 “이 레포에 PR 올려주세요” 같은 안내를 본 적이 있다. 그 ‘레포’가 정확히 뭔지 알면 협업 흐름이 한눈에 잡힌다.

레포지토리 한 줄 정의
**레포지토리(Repository, 줄여서 레포)**는 프로그램 코드와 그 변경 이력을 함께 보관하는 저장소다.
핵심은 “변경 이력이 함께 저장된다”는 점이다. 단순한 폴더와 가장 큰 차이가 여기서 난다. 누가 언제 어떤 줄을 고쳤는지, 그 전 버전은 어떤 모양이었는지가 그대로 남아 있어서 언제든 되돌릴 수 있다.
대부분 레포는 git이라는 버전 관리 시스템으로 작동한다. GitHub, GitLab, Bitbucket 같은 서비스는 그 git 레포를 클라우드에서 안전하게 보관하고 여러 사람이 함께 편집할 수 있게 해준다.
중학생도 이해하는 비유
레포지토리를 이해하는 가장 쉬운 비유는 잘 정리된 작업 노트다.
일반 폴더는 깨끗한 노트 한 권이다. 글을 쓰고 지우면 이전에 뭐라 적었는지 알 수 없다. 누가 썼는지도 모른다.
레포는 모든 줄을 누가 언제 어떻게 고쳤는지 기록한 작업 노트다. 페이지 옆에 변경 이력이 자동으로 따라붙는다. “어제 내가 이 부분을 잘못 고쳤네”라고 발견하면, 어제 시점의 노트로 되돌릴 수 있다. 동료가 같은 페이지를 동시에 고쳐도 충돌을 자동 알려준다.
이 차이가 중요한 이유는 단순하다. 코드는 한 번 잘못 고치면 프로그램 전체가 안 돌아간다. 그래서 모든 변경에 시간 도장이 찍힌 노트가 필수에 가깝다.
실제 사용 예시
레포는 보통 이런 형태로 쓰인다.
예시 1: 개인 프로젝트 보관
사이드 프로젝트나 블로그 코드를 GitHub 비공개 레포에 둔다. 노트북이 망가져도 클라우드에 그대로 있어서 새 컴퓨터에서 한 줄(git clone)이면 다시 받아올 수 있다.
예시 2: 팀 협업 회사 프로젝트는 비공개 레포 하나에 여러 사람이 동시에 작업한다. 한 사람이 기능 A를, 다른 사람이 기능 B를 따로 작업한 뒤, ‘Pull Request’로 합치고 코드 리뷰를 거친다.
예시 3: 오픈소스 기여 유명한 오픈소스 라이브러리는 모두 GitHub 공개 레포에 있다. 누구나 그 코드를 fork(복제)해서 본인 버전을 만들거나, 개선을 제안하는 PR을 올릴 수 있다.
예시 4: AI 코딩 도구의 작업 단위 Cursor, Claude Code 같은 AI 코딩 도구는 보통 레포 폴더를 열고 작업한다. 도구가 레포 안 파일 구조를 자동 인식해 어디를 고쳐야 할지 판단한다.
비슷한 용어와 차이
헷갈리기 쉬운 개념을 정리했다.
| 용어 | 뜻 | 레포지토리와의 관계 |
|---|---|---|
| 폴더(folder) | 파일을 담는 공간 | 변경 이력 없음. 레포는 폴더 + 이력 |
| git | 버전 관리 시스템 | 레포 안에서 동작하는 엔진 |
| GitHub | 레포 호스팅 클라우드 | 레포를 올려두는 곳 |
| 커밋(commit) | 변경 사항 한 묶음 저장 | 레포 안에서 일어나는 단위 행동 |
| 브랜치(branch) | 같은 레포 안의 평행 작업선 | 레포 안에서 여러 갈래로 나뉘는 길 |
따라서 “레포 = GitHub”이 아니다. GitHub은 레포를 올려두는 클라우드 중 하나일 뿐이다. 레포 자체는 노트북 안에서도 만들 수 있다.
언제 레포를 마주치나
레포라는 단어는 보통 이런 상황에서 등장한다.
- AI 코딩 도구 안내: “이 레포 폴더를 열어주세요”, “git clone https://…”
- 오픈소스 페이지: “이 라이브러리의 GitHub 레포에서 설치 방법 확인”
- 회사 협업: “이 기능은 X 레포에 PR 올려주세요”
- 블로그·사이드 프로젝트 운영: 자동 배포(Cloudflare Pages, Vercel)는 git 레포 push를 신호로 동작한다
평소엔 레포 개념을 안 써도 되지만, 코드·자동화·블로그 운영을 시작하는 순간 거의 매일 마주친다.
관련 용어
레포를 이해했다면 함께 알아두면 흐름이 연결되는 용어들이다.
- 오픈소스(Open Source): 코드가 공개되어 있고 자유롭게 쓰고 수정할 수 있는 소프트웨어. 보통 공개 레포 형태로 배포된다. 오픈소스가 뭐야? ‘무료’와 헷갈리지 않게 5분 정리 참고.
- 커밋(commit): 레포 안 변경 사항을 한 묶음으로 저장하는 행위. 커밋이 뭐야? 깃 기본 동작 5분 이해 참고.
- CLI(Command Line Interface): 레포를 다루는 git 명령은 대부분 CLI에서 입력한다. CLI가 뭐야? 참고.
- 이슈(issue): 레포 안에 등록되는 버그·요청 트래킹 항목. 이슈가 뭐야?에서 자세히 다룬다.
레포지토리는 “코드와 그 변경 이력을 함께 보관하는 저장소”다. 단순 폴더와의 결정적 차이는 모든 변경이 시간 도장이 찍힌 채 남아 있다는 점이다. AI 코딩 도구·자동 배포·오픈소스 협업까지, 디지털 작업의 거의 모든 단위가 레포 위에서 돌아간다는 걸 알면 깃허브 화면이 한층 친숙해진다.
출처
- GitHub, 레포지토리 가이드, https://docs.github.com/repositories
- Git, 공식 문서, https://git-scm.com/doc
- Atlassian, Git 튜토리얼, https://www.atlassian.com/git