[git] 추적 지점이란 무엇입니까?

누군가가 git에 적용되는 “추적 지점”을 설명 할 수 있습니까?

git-scm.com 의 정의는 다음과 같습니다 .

Git의 ‘추적 지점’은 원격 지점에 연결된 로컬 지점입니다. 해당 분기를 밀고 당기면 연결된 분기에 자동으로 밀고 당깁니다.

항상 동일한 업스트림 분기에서 새 분기로 가져오고 “git pull”을 명시 적으로 사용하지 않으려면이 옵션을 사용하십시오.

불행히도 git에 익숙하지 않고 SVN에서 나온 그 정의는 전혀 의미가 없습니다.

나는 ” Git에 대한 실용 가이드 “(좋은 책, 그건 그렇고)를 읽고 있는데, 그들은 가지를 추적하는 것이 좋은 것이며 첫 번째 리모컨 (이 경우에는 출처)을 만든 후에는 마스터 브랜치를 추적 브랜치로 설정하지만 불행히도 추적 브랜치가 좋은 이유 또는 마스터 브랜치를 오리진 저장소의 추적 브랜치로 설정하여 얻는 이점 다루지 않습니다 .

누군가 제게 계몽 할 수 있습니까 (영어)?



답변

ProGit 책아주 좋은 설명 :

추적 지점

원격 지점에서 로컬 지점을 체크 아웃하면 자동으로 추적 지점이 생성됩니다. 추적 분기는 원격 분기와 직접적인 관계가있는 로컬 분기입니다. 추적 지점 및 유형 인 git push경우 Git은 어떤 서버 및 지점을 푸시할지 자동으로 인식합니다. 또한 git pull이러한 분기 중 하나 에서 실행 하면 모든 원격 참조를 가져온 다음 해당 원격 분기에 자동으로 병합됩니다.

리포지토리를 복제하면 일반적으로 원점 / 마스터를 추적하는 마스터 분기가 자동으로 생성됩니다. 의는 이유입니다 git pushgit 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)


답변

아래는 GIT 추적 지점에 대한 개인 학습 노트입니다. 향후 방문자에게 도움이되기를 바랍니다.

여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오


분기 및 “git fetch”추적 :

여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오
여기에 이미지 설명을 입력하십시오


답변

Pro Git 책은 다음과 같이 언급합니다 .

추적 지점은 원격 지점과 직접적인 관계가있는 로컬 지점입니다.

정확히. “질문 에 어려움을 겪고있다git-fetch “라는 SO 질문 에는 다음이 포함됩니다.

로컬 추적 분기 에는 이러한 개념이 없으며 원격 추적 분기 만 있습니다.
그래서 origin/master원격 추적 지점입니다 master에서 originREPO.

그러나 실제로 한 번 당신은 설정 상류 지점의 관계 사이를 :

  • 같은 지방 지점 master
  • 같은 원격 추적 지점 origin/master

그런 다음 로컬 추적 분기master 로 간주 할 수 있습니다 . 원격 추적 분기추적 하여 업스트림 리포지토리 의 마스터 분기를 추적합니다 . origin/master origin

대체 텍스트


답변

추적 지점을 추가하여 새 지점으로 가져올 수있는 방법은 다음과 같습니다.

git branch --set-upstream-to origin/Development new-branch


답변