내 문제는 분기를 전환 할 때 치명적인 Git 오류 와 관련이 있습니다.
명령을 사용하여 원격 지점을 가져 오려고합니다.
git checkout -b local-name origin/remote-name
하지만이 오류 메시지가 나타납니다.
치명적 : git checkout : 경로 업데이트는 스위칭 브랜치와 호환되지 않습니다.
커밋으로 해결할 수없는 ‘origin / remote-name’을 체크 아웃하려고 했습니까?
수동으로 분기를 만든 다음 원격 분기를 당기면 새 복제본을 만들고 분기를 체크 아웃하는 것처럼 작동합니다.
내가 작업하는 리포지토리에서 왜 작동하지 않습니까?
답변
로컬 git repo가 아직 모르는 원격 지점을 체크 아웃하려고 할 때 이것이 발생한다고 생각합니다. 시험:
git remote show origin
체크 아웃하려는 원격 지점이 “추적 된 원격 지점”이 아닌 “새 원격 지점”에있는 경우 먼저 가져와야합니다.
git remote update
git fetch
이제 작동해야합니다.
git checkout -b local-name origin/remote-name
답변
대체 구문
git fetch origin remote_branch_name:local_branch_name
답변
성공하지 않고이 스레드에서 읽을 수있는 대부분을 시도한 후에이 오류가 발생했습니다.
“git branch -r”에 원격 분기가 표시되지 않음
내 .git / config 파일이 올바르지 않은 것으로 나타났습니다. 간단한 수정을 한 후 모든 지점이 나타났습니다.
에서 출발
[remote "origin"]
url = http://stash.server.com/scm/EX/project.git
fetch = +refs/heads/master:refs/remotes/origin/master
에
[remote "origin"]
url = http://stash.server.com/scm/EX/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
트릭을 했어
답변
이것이 도움이되는지 또는 질문과 정확히 관련이 있는지 확실하지 않지만 원격 저장소에서 단일 분기 만 가져오고 체크 아웃하려고 하면 다음 git 명령이 트릭을 수행합니다.
url= << URL TO REPOSITORY >>
branch= << BRANCH NAME >>
git init
git remote add origin $url
git fetch origin $branch:origin/$branch
git checkout -b $branch --track origin/$branch
답변
위의 어느 것도 나를 위해 일하지 않았습니다. 내 상황이 약간 다르며 원격 지점이 원산지 가 아닙니다 . 그러나 다른 저장소에 있습니다.
git remote add remoterepo GIT_URL.git
git fetch remoterepo
git checkout -b branchname remoterepo/branchname
팁 : 다음 출력에 원격 분기 git branch -v -a
가 표시되지 않으면이를 확인할 수있는 방법이 없습니다.
1.7.5.4 작업 확인
답변
나를 위해 일한 것은 다음과 같습니다.
git fetch
원격의 모든 분기에 대한 모든 심판을 컴퓨터로 가져옵니다. 그런 다음 할 수 있습니다
git checkout <branchname>
그리고 그것은 완벽하게 작동했습니다. 최고 투표 답변과 비슷하지만 조금 더 간단합니다.
답변
remote-name이라는 원격 브랜치가 없다고 생각하지만 실수로 origin / remote-name이라는 로컬 브랜치를 만들었습니다.
어떤 시점에서 입력 할 수 있습니까?
자식 분기 원산지 / 원격 이름
따라서 origin / remote-name이라는 로컬 브랜치를 생성합니까? 이 명령을 입력하십시오 :
자식 체크 아웃 출발지 / 원격 이름
당신은 볼 수 있습니다 :
지점 "원산지 / 원격 이름"으로 전환
즉, 이름이 잘못 지정된 현지 지점이거나
참고 : 현지 지점이 아닌 "원산지 / 재가공"으로 이동 이 체크 아웃에서 새 지점을 만들려면 그렇게 할 수 있습니다 checkout 명령과 함께 -b를 다시 사용하여 (현재 또는 이후) 예: 자식 체크 아웃 -b
이는 실제로 원격 지점임을 의미합니다.