fatal: 현재 분기의 업스트림 분기가 현재 분기의 이름과 일치하지 않습니다.
원격 지점 체크아웃 후releases/rel_5.4.1
Git GUI를 사용하면 예기치 않은 오류 메시지가 나타납니다.push
:
fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push origin HEAD:releases/rel_5.4.1
To push to the branch of the same name on the remote, use
git push origin rel_5.4.1
깃이 무슨 말을 하는지 모르겠어요.저는 아마 다음으로 밀고 싶습니다.origin releases/rel_5.4.1
그 지점이 제가 체크아웃한 지점이기 때문입니다.그래서 두 가지 옵션 모두 제게는 맞지 않는 것 같습니다.
git status
제가 지점에 있다고 합니다rel_5.4.1
.
여기 제가 볼때 보이는 가지가 있습니다..git/config
:
[branch "rel_5.4.1"]
remote = origin
merge = refs/heads/releases/rel_5.4.1
무슨 일입니까?
이 문제는 업스트림 분기와 로컬 분기의 이름이 일치하지 않는 경우에 발생하며, 때로는 발생하고 대개는 원하지 않는 경우에 발생합니다.
> git status
On branch release-1.2.3
Your branch is up to date with 'origin/master'.
이 문제를 해결하려면 다음을 실행합니다.
git branch --unset-upstream
그럼, 한번 달려보세요.git push
다시, 당신은 사용할 것을 요구 받을 것입니다.--set-upstream
업스트림 분기를 올바르게 설정하는 옵션입니다.
차려!이 답변이 가장 많은 표를 가지고 있고 기술적으로 정확하지만 문제는 다음과 같습니다.push.default
option, 보통 실제 문제가 로컬 브랜치와 업스트림 브랜치의 이름 사이의 의도하지 않은 불일치일 때. 이 답변의 지시를 맹목적으로 따르는 것은 당신의 변경사항이 잘못된 브랜치로 밀려나게 할 수 있습니다!안전한 빠른 수정을 위해서는 https://stackoverflow.com/a/24865780/2279059 를 참조하시기 바랍니다.
아마도 가장 중요한 세부사항을 놓치는 독자들의 이익을 위해 댓글에 잘 숨겨져 있습니다.
이것은 설정 때문입니다.그것은 무엇을 정의합니다.git
입력할 때 실행합니다.git push
(링크 참조).
질문에서, 분명히 설정은 다음과 같이 설정되었습니다.simple
(기본값:git v2
), 아마도 다음과 함께
git config --global push.default simple
이 말은, 그 말은git
로컬 분기와 원격 분기가 정확히 일치하지 않으면 푸시를 거부합니다.
@TomSpurling이 언급한 바와 같이, 로컬 및 원격 지점에 대해 동일한 이름을 사용하는 것이 일반적이므로, 위의 설정이 더 안전하고 일반적인 사용에 권장됩니다.
그러나 로컬 지점이 다른 이름을 가진 다른 원격 지점을 추적하는 경우 다음을 변경해야 합니다.
git 단위로 추적 분기에 푸시할 수 있도록 허용하려면 다음을 사용합니다.
git config push.default upstream
참고: 모든 사용자에 대해 전체적으로 설정하려면git
s, 쓰임새git config --global push.default upstream
하지만 그것을 맡기는 것이 아마도 더 나을 것입니다.git config --global push.default simple
이 옵션은 반드시 필요한 워크로드에서만 설정할 수 있습니다.
해당 지역 지점의 이름은 다음과 같습니다.rel_5.4.1
하지만 멀리 떨어져있는 지점은releases/rel_5.4.1
(는, 에한한,한(/
가 분원명에서 사람의 눈으로 읽기 쉽게 하는 것 외에는 특별한 의미가 없습니다.).
당신이 밀 때, 깃은 당신이 당신의 가지를 밀기를 원하는지 아닌지를 경계합니다.releases/rel_5.4.1
(원격 분기 이름) 또는 새 원격 분기를 생성할지 여부.하지만 이름의 유사성은 주목할만합니다.
새 분기를 생성하려는 경우가 아니라면 올바른 명령은
git push origin HEAD:releases/rel_5.4.1
사용할 수도 있습니다.
git push origin rel_5.4.1:releases/rel_5.4.1
경고를 한 번에 해결하려면 원격 이름에 맞게 로컬 분기 이름을 변경합니다.
git branch -m releases/rel_5.4.1
이 오류는 다음과 같은 방법으로 한 번에 해결할 수 있습니다.
git branch releases/rel_5.4.1 -u origin/releases/rel_5.4.1
분기의 업스트림이 올바른 원격(다시)과 일치하도록 변경됩니다.
리모콘과 다른 로컬 지점 이름을 가지고 있는 것은 아닌 것 같습니다.Git
너무 좋아요.다음을 발행해야 합니다.
git push origin HEAD:releases/rel_5.4.1
온갖 노력을 다하여
특정 지점에서 데이터를 푸시하는 동안 위와 같은 문제가 발생한 경우:
수정을 적용하기 전에 먼저 데이터를 로컬로 커밋하고 병합해야 합니다.git status
수정된 파일 등을 확인합니다.
언급URL : https://stackoverflow.com/questions/24864700/fatal-the-upstream-branch-of-your-current-branch-does-not-match-the-name-of-you
'programing' 카테고리의 다른 글
View Pager를 동적으로 업데이트하시겠습니까? (0) | 2023.09.12 |
---|---|
numpy 배열을 h5py로 입력 및 출력 (0) | 2023.09.12 |
AJAX로 RSS 피드 로드하기: Google 피드 API의 대안? (0) | 2023.09.12 |
Prisma with mariaDB: strange cache issue (0) | 2023.09.12 |
phonegap: 쿠키 기반 인증(PHP)이 작동하지 않음 [webview] (0) | 2023.09.12 |