ProGit 책 이 아주 좋은 설명 :
추적 지점
원격 지점에서 로컬 지점을 체크 아웃하면 자동으로 추적 지점이 생성됩니다. 추적 분기는 원격 분기와 직접적인 관계가있는 로컬 분기입니다. 추적 지점 및 유형 인 git push경우 Git은 어떤 서버 및 지점을 푸시할지 자동으로 인식합니다. 또한 git pull이러한 분기 중 하나 에서 실행 하면 모든 원격 참조를 가져온 다음 해당 원격 분기에 자동으로 병합됩니다.
리포지토리를 복제하면 일반적으로 원점 / 마스터를 추적하는 마스터 분기가 자동으로 생성됩니다. 의는 이유입니다 git push및 git pull다른 인수와 함께 상자 밖으로 작동합니다. 그러나 원할 경우 다른 분기 지점 (원점의 분기를 추적하지 않고 마스터 분기를 추적하지 않는)을 설정할 수 있습니다. 간단한 사례는 방금 본 예제 인 running git checkout -b [branch] [remotename]/[branch]입니다. Git 버전 1.6.2 이상을 사용하는 경우 --track속기 를 사용할 수도 있습니다 .
$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch refs/remotes/origin/serverfix.
Switched to a new branch "serverfix"
원격 브랜치와 다른 이름으로 로컬 브랜치를 설정하려면 다른 로컬 브랜치 이름을 가진 첫 번째 버전을 쉽게 사용할 수 있습니다.
$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch refs/remotes/origin/serverfix.
Switched to a new branch "sf"
이제 현지 지점 sf이 자동으로로 이동 origin/serverfix합니다.
보너스 : 추가 git status정보
추적 지점을 사용하면 추적 지점 git status뒤에 얼마나 멀리 있는지 알 수 있습니다. 아직 변경 사항을 적용하지 않았다는 사실을 기억하는 데 유용합니다! 다음과 같이 보입니다 :
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
또는
$ git status
On branch dev
Your branch and 'origin/dev' have diverged,
and have 3 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
--track옵션을 사용하여 이러한 원격 추적 분기 중 하나를 업스트림으로 설정 한 (로컬) 분기를 만들 수 있습니다 . 이 용어는 2006 년에서 2019 년 사이에 다소 발전해 왔기 때문에 사람들 마다 때때로이 단어마다 다른 의미를 가질 수 있습니다 .