1장. 로컬/리모트 레포지토리 정의
레포지토리는 작업 기록을 보관하는 기록 저장소입니다. 기록 저장소는 보통 두 종류로 나눠서 생각하면 쉽습니다.
- 로컬 레포지토리: 내 컴퓨터 안의 기록 저장소
- 리모트 레포지토리: 인터넷 어딘가에 있는 기록 저장소
중요한 점은 Git과 GitHub는 같은 말이 아니라는 것입니다. Git은 기록을 다루는 방식이고, GitHub는 리모트 기록 저장소를 올려두는 서비스 중 하나입니다. (Bitbucket 같은 다른 서비스도 가능합니다.)
실무에서는 로컬에서 리모트 기록 저장소의 이름을 보통 origin으로 둡니다. 그래서 origin/main 같은 표현을 자주 보게 됩니다.
또 하나의 핵심: 로컬과 리모트는 항상 자동으로 같이 움직이지 않습니다. 서로 독립된 기록 저장소라서, 내가 보내거나 받아야만 내용이 맞춰집니다.
로컬 기록은 어디에 저장될까?
로컬 레포지토리의 핵심 기록은 프로젝트 폴더 안의 .git 폴더에 저장됩니다. 이 폴더가 있으면 "이 폴더는 Git 기록 저장소다"라고 볼 수 있습니다.
my-project/
.git/ ← Git 기록(히스토리, 브렌치 정보 등)
art/
ui/
README.md
그림 1-1. 동료에게 커밋을 공유하는 과정 (1)
흐름은 보통 저장 → 업로드 → 다운로드 순서입니다. 화살표와 점선 흐름 방향으로 데이터가 이동하는 길을 바로 읽을 수 있습니다.