자식 체크 아웃 태그, 분기에서 자식 풀 실패
git 저장소를 복제 한 다음 태그를 체크 아웃했습니다.
# git checkout 2.4.33 -b my_branch
이것은 괜찮지 만 git pull
지점에서 실행하려고하면 git 이이 오류를 뱉어냅니다.
현재 지점에 대한 추적 정보가 없습니다. 병합하려는 지점을 지정하십시오. 자세한 내용은 git-pull (1)을 참조하십시오.
git pull <remote> <branch>
이 지점에 대한 추적 정보를 설정하려면 다음을 수행하십시오.
git branch --set-upstream new origin/<branch>
내가 원하는 git pull
단지 마스터 브랜치를 업데이트하고 (이 태그 어쨌든입니다) 혼자 현재 분기를 떠날. 이와 같은 것이 가능합니까?
내가 필요로하는 이유는 항상 자동으로 스크립트를 가지고 있기 때문에 git은 항상 저장소를 가져오고 위의 오류로 인해 실패합니다.
편집 : 최신 버전의 Git에서는 --set-upstream master
더 이상 사용되지 않으며 --set-upstream-to
대신 다음을 사용해야 합니다.
git branch --set-upstream-to=origin/master master
프롬프트가 표시되면 다음을 실행할 수 있습니다.
git branch --set-upstream master origin/master
그런 git pull
다음 코드를 업데이트하기 위해 간단히 실행할 수 있습니다.
나는 같은 문제가 있었고이 명령으로 고쳤다.
$ git push -u origin master
도움말 파일에서 -u는 기본적으로 pull의 기본값을 설정합니다.
-u, --set-upstream`
For every branch that is up to date or successfully pushed, add
upstream (tracking) reference, used by argument-less git-pull(1) and
other commands. For more information, see branch.<name>.merge in
git-config(1).
다음 명령을 시도하십시오 :
git pull origin master
git push -u origin master
다음을 사용하여 마스터 지점으로 다시 전환하십시오.
$ git checkout master
그런 다음 git pull
작업 을 실행하십시오.
$ git pull origin/master
나중에 my_branch
다시 다시 전환 할 수 있습니다 .
@alesko : git pull
체크 아웃 후에 만 지점 my_branch
을 업데이트 할 수는 없습니다 master
. 시나리오에서 현재 분기->로 병합하기
때문에git pull
my_branch
@Simon : 그것은 또한 추진을 할 것입니다. 왜 그런 겁니까?
$ git branch -u origin/master
Branch master set up to track remote branch master from origin.
그리고 문서에 따르면 :
-u <upstream>
Set up <branchname>'s tracking information so <upstream> is considered
<branchname>'s upstream branch. If no <branchname> is specified,
then it defaults to the current branch.
여러 지점이있을 수 있습니다. 그리고 현재 지점은 원격에서 업스트림을 설정하지 않았습니다.
이 문제를 해결하는 단계 :
git checkout branch_name
git branch --set-upstream-to=origin/remote_branch_name local_branch_name
예 :
// this set upstream of local branch develop to remote branch origin/develop,
git branch --set-upstream-to=origin/develop develop
이 작업을 수행 한 후 git pull
지정된 지점에서 가져옵니다.
먼저 올바른 지점에 있는지 확인하십시오.
그런 다음 (한 번만) :
git branch --track
그 후에 이것은 다시 작동합니다.
git pull
이 시도
git checkout master
git pull origin master
풀하려는 브랜치를 지정할 수 있습니다.
git pull origin master
또는 로컬 마스터 브랜치가 github 마스터 브랜치를 업스트림으로 추적하도록 설정할 수 있습니다.
git branch --set-upstream-to=origin/master master
git pull
이 분기 추적은 저장소를 복제 할 때 (기본 분기의 경우에만) 자동으로 설정되지만 기존 저장소에 원격을 추가하는 경우 추적을 직접 설정해야합니다. 고맙게도 git이 제공하는 조언을 통해 수행 방법을 쉽게 기억할 수 있습니다.
--set-upstream은 git 1.9.x에서 더 이상 사용되지 않습니다. 앞으로는 다음과 같은 것을 사용하고 싶습니다.
git branch -u origin/master
마스터를 이미 체크 아웃했다고 가정합니다. 그렇지 않으면 git branch -u origin/master master
작동합니다
You need to set up your tracking (upstream) for the current branch
git branch --set-upstream master origin/master
Is already deprecated instead of that you can use --track flag
git branch --track master origin/master
I also like the doc reference that @casey notice:
-u <upstream>
Set up <branchname>'s tracking information so <upstream> is considered
<branchname>'s upstream branch. If no <branchname> is specified,
then it defaults to the current branch.
What worked for me was: git branch --set-upstream-to=origin master When I did a pull again I only got the updates from master and the warning went away.
If like me you need to do this all the time, you can set up an alias to do it automatically by adding the following to your .gitconfig
file:
[alias]
set-upstream = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
When you see the message There is no tracking information...
, just run git set-upstream
, then git push
again.
Thanks to https://zarino.co.uk/post/git-set-upstream/
In order to just download updates:
git fetch origin master
However, this just updates a reference called origin/master
. The best way to update your local master
would be the checkout/merge mentioned in another comment. If you can guarantee that your local master
has not diverged from the main trunk that origin/master
is on, you could use git update-ref
to map your current master
to the new point, but that's probably not the best solution to be using on a regular basis...
This command is deprecated: git branch --set-upstream master origin/master
So, when trying to set up tracking, this is the command that worked for me:
git branch --set-upstream-to=origin/master master
참고URL : https://stackoverflow.com/questions/10147475/git-checkout-tag-git-pull-fails-in-branch
'development' 카테고리의 다른 글
탭을 사용하여 텍스트 영역에 들여 쓰기 (0) | 2020.06.29 |
---|---|
\ w와 \ b 정규 표현식 메타 문자의 차이점 (0) | 2020.06.29 |
RESTful 방식으로 자원에 대한 서버 측 메소드 호출 (0) | 2020.06.29 |
AngularJS 및 ng-repeat를 사용하여 선택 초기화 (0) | 2020.06.29 |
ASP.NET Core Dependency Injection 오류 : 정품 인증을 시도하는 동안 형식에 대한 서비스를 확인할 수 없습니다 (0) | 2020.06.29 |