본문 바로가기
Engineering WIKI/Version Control

Git - 브랜치 추적

by wonos 2021. 4. 26.

브랜치 추적(Upstream Branch)

리모트 트래킹 브랜치를 로컬 브랜치로 checkout 하면 자동으로 "트래킹 브랜치" 가 만들어집니다.(트래킹 하는 대상 브랜치를 "Upstream 브랜치" 라고 부릅니다.)

트래킹 브랜치는 리모트 브랜치와 직접적인 연결고리가 있는 로컬 브랜치입니다.

트래킹 브랜치에서 git pull 명령을 내리면 리모트 저장소로부터 데이터를 내려받아 연결된 리모트 브랜치와 자동으로 Merge 합니다.

서버로부터 저장소를 clone 하면 Git은 자동으로 master 브랜치를 origin/master 브랜치의 트래킹 브랜치로 만듭니다. 트래킹 브랜치를 직접 만들 수 있는데 리모트를 origin 이 아닌 다른 리모트로 할 수도 있고, 브랜치도 master 가 아닌 다른 브랜치로 추적하게 할 수 있습니다.

git checkout -b <branch> <remote>/<branch> 명령으로 간단히 트래킹 브랜치를 만들 수 있고,--track 옵션을 사용하여 로컬 브랜치 이름을 자동으로 생성할 수 있습니다.

$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch serverfix from origin.Switched to a new branch 'sf'

이제 sf 브랜치에서 Push 나 Pull 하면 자동으로 origin/serverfix 로 데이터를 보내거나 가져옵니다.

이미 로컬에 존재하는 브랜치가 리모트의 특정 브랜치를 추적하게 하려면 git branch 명령에 -u 옵션을 붙여 설정해줍니다.

$ git branch -u origin/serverfix

Branch sf set up to track remote branch serverfix from origin.