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 년 사이에 다소 발전해 왔기 때문에 사람들 마다 때때로이 단어마다 다른 의미를 가질 수 있습니다 .