이 문서는 Git의 'remote-tracking branch' 개념을 고등학교 시험지 비유를 통해 설명한다. 원격 저장소 소스(담임의 문제지)를 클론할 때 생성되는 읽기 전용 브랜치가 remote-tracking branch이며, 이를 복사한 로컬 브랜치가 tracking branch임을 명시한다. git clone, push, pull 명령어가 내부적으로 원격지 동기화, 브랜치 생성, 병합 등 여러 단계를 수행함을 설명하…
6 min read
Git remote-tracking branch 개념 및 동작 원리
Source
Evernote/Technote scraps/인턴부터 노땅까지 즐기는 Git 강좌 “remote-tracking branch” – 13.md
Summary
이 문서는 Git의 ‘remote-tracking branch’ 개념을 고등학교 시험지 비유를 통해 설명한다. 원격 저장소 소스(담임의 문제지)를 클론할 때 생성되는 읽기 전용 브랜치가 remote-tracking branch이며, 이를 복사한 로컬 브랜치가 tracking branch임을 명시한다. git clone, push, pull 명령어가 내부적으로 원격지 동기화, 브랜치 생성, 병합 등 여러 단계를 수행함을 설명하며, 분산 버전 관리 시스템에서 원격지 상태를 추적하기 위해 remote-tracking branch가 필요함을 강조한다.
Key Points
remote-tracking branch: 원격 저장소의 상태를 로컬에서 추적하기 위한 읽기 전용(read-only) 브랜치 (예: refs/remotes/origin/master)
tracking branch: 사용자가 직접 수정 가능한 로컬 브랜치 (예: refs/heads/master)
git clone 동작: 원격 소스 수신, remote-tracking branch 생성, 로컬 tracking branch 생성의 복합 과정
git push/pull: 단순 전송이 아닌, 원격지와의 상태 동기화 및 브랜치 업데이트를 포함하는 복합 명령어
Git 설계 철학: 네트워크 단절 시에도 로컬에서 소스 관리를 가능하게 하기 위해 원격지 상태를 로컬에 복사해 두는 분산 구조