현재 지점에 대한 추적 정보가 없습니다


581

나는 비교적 짧은 기간 동안 github을 사용 해 왔으며 항상 클라이언트를 사용하여 커밋과 풀을 수행했습니다. 어제 git bash에서 시도하기로 결정했으며 새 저장소를 만들고 파일을 커밋했습니다.

오늘 다른 컴퓨터에서 리포지토리를 변경하고 변경 사항을 커밋 한 후 집으로 돌아와 git pull로컬 버전을 업데이트 하기 위해 수행했습니다 .

There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream develop origin/<branch>

이 레포에 기여한 유일한 사람은 저이며 지점이 없습니다 (마스터). 나는 창문에 있고 자식 배쉬에서 풀을 수행했다.

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

자식 상태 :

$ git status
# On branch master
nothing to commit, working directory clean

자식 분기 :

$ git branch
* master

내가 무엇을 잘못하고 있지?


좋아, git remote -v어때? 그게 뭐에요?
criswell


실행할 때 복제 된 repo 디렉토리로 cd하지 않은 경우에도 해당 오류가 발생할 수 있습니다 git pull.
빅토리아 스튜어트

Git 2.24에서는 2019 년 4 분기 git pull --set-upstream-to=origin/master master가 가능합니다. 아래 답변을
VonC

답변:


950

풀하려는 브랜치를 지정할 수 있습니다.

git pull origin master

또는 로컬 마스터 분기가 github 마스터 분기를 업스트림으로 추적하도록 설정할 수 있습니다.

git branch --set-upstream-to=origin/master master
git pull

이 분기 추적은 저장소를 복제 할 때 자동으로 설정되지만 (기본 분기의 경우에만) 기존 저장소에 원격을 추가하는 경우 추적을 직접 설정해야합니다. 고맙게도 git이 제공하는 조언을 통해 수행 방법을 쉽게 기억할 수 있습니다.


3
완전한! 효과가있었습니다. 무슨 일이 있었는데 기본 "git pull"에 대한 "default branch"가 없었습니까? 이것이 오류가 발생한 이유입니다.
valerio0999

16
--set-upstream은 git 1.9.x에서 더 이상 사용되지 않습니다. 앞으로 git branch -u origin/master마스터를 이미 체크 아웃했다고 가정하면 과 같은 것을 사용하고 싶습니다 . 그렇지 않으면 git branch -u origin/master master작동합니다.
바트 읽기

5
@BartRead는 새로운 명확한 --set-upstream-to=구문 을 사용하도록 업데이트했습니다 . (의 대체입니다 --set-upstream)
ComputerDruid

61
이것은 미안한 일처럼 보입니다-모든 지점에 대해 수동으로 설정해야합니까? 왜 원점을 기본 원격으로 설정 한 다음 같은 이름을 가진 원점의 모든 푸시 / 풀 기본값을 분기로 설정할 수 없습니까? 너무 어려워?
Alexander Mills

4
아, 여기서 중요한 부분은 리모컨을 떨어 뜨렸다가 다시 만들면 원본에서 설정 한 추적 fetch이 손실 된다는 것 입니다. 따라서 다시 설정해야합니다. :)
Ben

42

참조 : 자식 체크 아웃 태그, 분기에서 자식 풀 실패

나처럼 항상이 작업을 수행해야하는 경우 .gitconfig파일에 다음을 추가하여 자동으로 별칭을 설정하면됩니다 .

[alias]
    set-upstream = \
       !git branch \
           --set-upstream-to=origin/`git symbolic-ref --short HEAD`

메시지가 표시 There is no tracking information...되면 다음을 실행하십시오.

 git set-upstream
 git push

https://zarino.co.uk/post/git-set-upstream/ 덕분에


1
.gitconfig한 줄로 전역 에 추가하는 방법은 다음과 같습니다 (로컬 또는 다른 구성에 따라 수정 가능).git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
Danny Bullis

17

ComputerDruid의 답변은 훌륭하지만 원치 않는 한 수동으로 업스트림을 설정할 필요는 없다고 생각합니다. 사람들이 이것이 필요한 단계라고 생각할 수 있기 때문에이 답변을 추가하고 있습니다.

아래와 같이 당기려는 리모컨을 지정하면이 오류가 사라집니다.

git pull origin master

참고 origin원격의 이름 및 master분기 이름입니다.


1) 리모컨 이름 확인 방법

git remote -v

2) 저장소에서 사용 가능한 분기를 확인하는 방법

git branch -r

1
나에게 가장 좋은 대답, 고마워!
Bahman.

7

git checkout -b <feature-branch-name>먼저 원격 지점을 만들지 않고 로컬 지점을 생성하기 때문에이 정확한 메시지가 자주 표시됩니다 .

모든 작업이 완료되고 로컬로 커밋 된 후 수정 사항으로 git push -u원격 지사가 만들어지고 내 모든 작업이 푸시 된 다음 병합 요청 URL이 만들어졌습니다.


1
가치있는 것을 위해, 나는 git push -u origin <my-feature-branch-name>원격 지점을 만들고 나의 일을 추진하기 위해 달려야 했다
Donnie C

6

위의 예제를 시도했지만 다른 컴퓨터에서 만든 (마스터가 아닌) 분기와 동기화 할 수 없었습니다. 배경을 위해 컴퓨터 A (git v 1.8) 에서이 저장소를 만든 다음 저장소를 컴퓨터 B (git 2.14)에 복제했습니다. comp B에서 모든 변경 작업을 수행했지만 컴퓨터 AI로 변경 사항을 가져 오려고 할 때 위와 같은 오류가 발생했습니다. 위의 솔루션과 마찬가지로 다음을 수행해야했습니다.

git branch --set-upstream-to=origin/<my_repository_name> 
git pull

약간 다르지만 희망적으로 누군가를 돕는다


이것은 나를 위해 일했다. 또한 다른 컴퓨터에 설치된 비 마스터 지점을 사용하고있었습니다. 망할 놈의 강타 I에서이 명령을 사용하면 다음 내 변화를 :) 얻을 수 있었다
Novastorm



3

1) 자식 분기 --set-upstream-to = origin / <master_branch>feature /<your_current_branch>

2) 깃 당김


1

$ git branch --set-upstream-to=heroku/master master

$ git pull

나를 위해 일했다!


1

이전에 git 브랜치를 만들지 않고 새로운 git 브랜치를 만들 때도 똑같은 일이 일어났습니다.

이 두 줄을 먼저 실행하십시오.

git checkout -b name_of_new_branch # create the new branch
git push origin name_of_new_branch # push the branch to github

그때:

git pull origin name_of_new_branch

이제 괜찮을거야!


1

이것은 현재 지점에 원격 지점의 추적 기능이 없기 때문에 발생합니다. 두 가지 방법으로 할 수 있습니다.

  1. 특정 지점 이름으로 당김

자식 풀 원점 마스터

  1. 또는 특정 지점을 로컬 지점으로 추적 할 수 있습니다.

자식 분기 --set-upstream-to = origin /


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.