구성에서 원격에서 와 병합하도록 지정했지만 이러한 참조를 가져오지 않았습니다.
당김에 대해 다음 오류가 발생합니다.
원격에서 refs/heads/feature/Sprint4/ABC-123-Branch' 참조와 병합하도록 구성되었지만 이러한 참조를 가져오지 않았습니다.
이 오류는 다른 분기에 대해 발생하지 않습니다.
이 분기의 특별한 점은 다른 분기의 이전 커밋에서 생성되었다는 것입니다.
다음과 .
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = <url here>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "new-develop"]
remote = origin
merge = refs/heads/new-develop
[branch "feature/Sprint4/ABC-123-Branch"]
remote = origin
merge = refs/heads/feature/Sprint4/ABC-123-Branch
의미
- 업트림원 - 출는하라고 하는 origin
더 하지 않았을 도 있습니다.feature/Sprint4/ABC-123-Branch
그에 대한 한 가지 특별한 일반적인 이유가 있습니다. 다른 Git 저장소에서 누군가(아마도 당신이 아니거나 기억할 것입니다)가 분기를 삭제했습니다.
무엇을 할지
이것은 당신이 무엇을 원하느냐에 달려 있습니다.아래의 토론 섹션을 참조하십시오.할 수 있는 일:
- 원격에서 분기를 만들거나 다시 만듭니다.
- 로컬 지점을 삭제합니다.
- 당신이 생각할 수 있는 다른 모든 것.
논의
은 중합니다야어이를 실행하고 .git pull
이 달리고 )git merge
다른 오류 메시지가 표시되거나 오류 메시지가 전혀 표시되지 않습니다.
을 할 때git fetch
당신의 깃은 다른 깃과 접촉합니다, 기준으로.url
에 아래 줄[remote "origin"]
구성 섹션을 참조하십시오.합니다.upload-pack
무엇보다도 Git에 모든 분기 목록을 전송합니다.사용할 수 있습니다.git ls-remote
이것이 어떻게 작동하는지 확인합니다(해보세요, 교육적입니다).다음은 Git 저장소에서 실행할 때 얻을 수 있는 정보의 일부입니다.git
자체:
$ git ls-remote origin
From [url]
bbc61680168542cf6fd3ae637bde395c73b76f0f HEAD
60115f54bda3a127ed3cc8ffc6ab6c771cbceb1b refs/heads/maint
bbc61680168542cf6fd3ae637bde395c73b76f0f refs/heads/master
5ace31314f460db9aef2f1e2e1bd58016b1541f1 refs/heads/next
9e085c5399f8c1883cc8cdf175b107a4959d8fa6 refs/heads/pu
dd9985bd6dca5602cb461c4b4987466fa2f31638 refs/heads/todo
[snip]
그refs/heads/
항목은 해당하는 커밋 ID와 함께 1원격에 존재하는 모든 분기를 나열합니다.refs/tags/
ID가 커밋 대신 태그 개체를 가리킬 수 있는 항목).
Git는 각 지점 이름을 사용하고 다음에 따라 변경합니다.fetch
동한행에 줄remote
부분.이 경우, 당신의 Git이 당신의 Git을 대체합니다.refs/heads/master
와 함께refs/remotes/origin/master
를 들면▁your들어. 의 깃은 모든 지점 .당신의 Git은 모든 지점 이름을 통해 이 작업을 수행합니다.
은 또한 에.FETCH_HEAD
의 파일을 이 을 볼 수 ..git
디렉토리)를 선택합니다.은 가져온 합니다. 파일 이름과 ID를 저장합니다.
그git pull
는 편리한 합니다. 즉, 명은편가의미다니합를기바령로리한다▁command▁runs를 실행합니다. 실행됩니다.git fetch
적한원에서격, 그고나서리절.git merge
되었다면, (또는그지된경우시게렇경)우또▁(▁(지된orgit rebase
)의 병합기본 재배치) 데 [branch ...]
부분. 이 의 이경, 당의.[branch "feature/Sprint4/ABC-123-Branch"]
은 섹에서가져함고라에서 .origin
런그다음와이발름모견든로다병 ID합합니라는 합니다.refs/heads/feature/Sprint4/ABC-123-Branch
.
그 이름으로는 아무것도 발견되지 않았기 때문에,git pull
불평하고 멈춥니다.
을 두하면, 이두단나실행면하누어로계를,▁this,▁if면▁separate하▁as▁you실행▁run▁two▁steps나누.git fetch
그리고 나서.git merge
(또는)git rebase
의 캐시된 을 볼 입니다.remotes/origin/
병합하거나 재배치할 항목을 확인할 수 있는 원격 검색 분기입니다.한 번에 이러한 분기가 있는 경우에도 원격 추적 분기가 있을 수 있습니다.이 경우 오류 메시지가 표시되지 않습니다.이러한 지점이 없거나 실행한 적이 있는 경우git fetch
와 함께--prune
(데드 원격 감지 분기를 제거함), 따라서 해당 원격 감지 분기가 없으므로 불만이 제기될 수 있지만, 이는 다음과 같습니다.origin/feature/Sprint4/ABC-123-Branch
대신.
어느 경우든, 우리는 결론을 내릴 수 있습니다.feature/Sprint4/ABC-123-Branch
(는) 이름의 인 이이지원현없다니습에 .origin
.
한 때 존재했을 수 있으며, 원격 추적 분기에서 로컬 분기를 만들었을 수 있습니다.그렇다면 원격 추적 분기가 남아 있을 수 있습니다.원격에서 분기를 제거한 사용자와 그 이유를 조사하거나 무언가를 밀어 다시 만들거나 원격 추적 분기 및/또는 로컬 분기를 삭제할 수 있습니다.
1음, 적어도 인정할 수 있는 모든 것.하지만 그들이 몇몇 참조를 특별히 숨기지 않는 한, 그 목록은 모든 것을 포함합니다.
2020년 7월 편집:모든 것을 나열하지 않고 Git가 찾는 이름만 나열할 수 있는 새로운 가져오기 프로토콜이 있습니다.이렇게 하면 수많은 분기 및/또는 태그가 있는 리포지토리에 도움이 될 수 있습니다.그러나 Git가 가능한 모든 이름에 관심이 있는 경우에도 여기에 있는 모든 이름을 얻을 수 있습니다.
다른 사용자가 분기 이름을 변경한 경우에도 이 문제가 발생할 수 있습니다.따라서 다음 단계를 수행합니다(지점 이름이 변경된 경우). 이전 지점 이름을 로 하고 다른 사용자가 So로 이름을 변경했다고 가정합니다.
git checkout correct-branch-name
git pull
("구성이 지정한 대로...")
git branch --unset-upstream
git branch --set-upstream-to=origin/correct-branch-name
버전의 전이 Git 전의 우경 버우git push --set-upstream origin correct-branch-name
git pull
메시지는 되지 않을
원격 분기를 풀할 수 있는지 확인합니다.저도 같은 문제가 있었는데, 마침내 원격 지점이 누군가에 의해 삭제되었다는 것을 깨달았습니다.
이 그들의 프로젝트를 이동시키고 있기 때문에 더 흔한 오류입니다.master
▁to와 같은 다른 합니다.main
,primary
,default
,root
,reference
,latest
Github에서 논의된 바와 같이, '마스터'와 '화이트리스트'와 같은 인종에 민감하지 않은 용어를 대체할 계획입니다.
이 문제를 해결하려면 먼저 프로젝트가 현재 사용 중인 github, gitlab 또는 기타 git 서버를 통해 찾을 수 있는 내용을 확인하십시오.
그런 다음 다음 현재 구성을 캡처합니다.
$ git branch -vv
...
* master 968695b [origin/master] Track which contest a ballot was sampled for (#629)
...
다음을 설명하는 선을 찾습니다.master
분기 및 원격 repo가 호출되는지 여부를 기록합니다.origin
,upstream
뭐 그런 거.
다음 을 새를 들어 현재 중이라고 이름을 변경합니다.origin/master
, 물체main
:
git branch master --set-upstream-to origin/main
이후의 혼동을 방지하기 위해 자신의 분기 이름을 변경할 수도 마찬가지입니다.
git branch -m main
저에게 그것은 사건 민감성 문제였습니다.로컬 지점은 Version_Feature2가 아닌 Version_Feature2였습니다.올바른 케이스를 사용하여 지점을 다시 확인한 후 Git Pull이 작동했습니다.
다음을 실행하여 로컬 지점을 원격 지점과 쉽게 연결할 수 있습니다.
git checkout <your-local-branch>
git branch --set-upstream-to=origin/<correct-remote-branch> <your-local-branch>
git pull
디스크가 꽉 찼을 때도 비슷한 오류가 발생했습니다.파일을 한 후,git pull
제가 예상했던 대로 작동하기 시작했습니다.
저의 경우 원격 지점에 대한 초기 커밋이 부족했기 때문에 로컬 지점에서 꺼낼 항목을 찾지 못했고 오류 메시지를 표시했습니다.
제가 했습니다.
git commit -m 'first commit' // on remote branch
git pull // on local branch
오리진 분기 이름에 대소문자 문제가 있을 때도 이 오류가 발생할 수 있습니다.
를 들어,는 ": 오진분다같음습다니"입니다.team1-Team
그리고 지역 지점은 다음과 같이 체크아웃했습니다.team1-team
이 그면이거러이.T
-Team
그리고.t
-team
이러한 오류를 발생시킬 수 있습니다.제 경우에도 이런 일이 있었습니다.그래서, 원산지 지점의 이름으로 로컬 이름을 변경함으로써 오류를 해결했습니다.
기본값을 가진 저장소에서 업데이트를 가져올 때 이 오류가 자주 발생합니다.master
지점 이름이 다음으로 변경되었습니다.main
의 명칭 변경 .master
京都로 main
분점.
repo를 한 적이 ,master
지점 및 해당 지점의 이름이 다음으로 변경되었습니다.main
하는 한 입니다: " 가 해 방 결 은 에 서 로 업 림 을 가 됩 니 다 하 면 만 기 키 한 리 트 스 으 지 메 인 터 마 스 법 다 니 ▁one 됩 한 ▁is ▁your ▁from ▁by 하▁simply 면 ▁to
git branch --set-upstream-to=origin/main master
이 명령이 성공하면 다음과 같은 메시지가 표시됩니다.
'origin'에서 원격 분기 'main'을(를) 추적하기 위해 'master' 분기가 설정되었습니다.
" 다음로분이변수경있다할습니름을그기런의컬다"에서 로컬 할 수 .master
main
이름과 유지) 및 (원격 지점 이름과 일치)git branch -m master main
저는 이 문제에 계속 부딪혔습니다.저의 경우, 지점 이름의 대소문자 차이에 대한 @Jerreck의 의견이 이 오류의 원인이었습니다.일부 Windows 도구는 대/소문자를 구분하지 못합니다.
대/소문자 구분 Git를 끄려면 다음 명령을 실행합니다.
git config --global core.ignorecase true
이것은 지점 이름보다 더 많은 영향을 미칩니다.예를 들어, "Foo"가 있는 경우.h" 및 "foo".h" 같은 디렉터리에 있으면(Windows용 소프트웨어를 구축할 때는 좋은 생각이 아닙니다) 대소문자 구분을 끌 수 없을 것 같습니다.
저의 경우, 저는 현재 지점이 파생된 원래 지점을 삭제했습니다.그래서 .git/config 파일에 다음과 같이 저장했습니다.
[branch "simil2.1.12"]
remote = origin
merge = refs/heads/simil2.0.5
rebase = false
simil 2.0.5가 삭제되었습니다.동일한 지점 이름으로 변경했습니다.
[branch "simil2.1.12"]
remote = origin
merge = refs/heads/simil2.1.12
rebase = false
그리고 그것은 성공하였다.
저는 마스터/메인 브랜치와 비슷한 문제가 있었습니다.제 경우에는 하드 디스크에 충분한 여유 공간이 없었습니다.공간을 확보한 후에, 그것은 작동했습니다.
파일을 편집하려면 /.git 파일에 공간이 필요하기 때문인 것 같습니다.예: 'refs/heads/feature/Sprint4/ABC-123-Branch' 파일
대/소문자 구분 확인
이름. 를 들어, 제경우원, 이름은습(으)로 되어 있습니다. 예:BranchName
가 실수로을 만들었습니다.branchname
(모두 소문자로) 로컬 컴퓨터에서 업스트림을 동일하게 설정했는데 이 오류가 발생했습니다.
파일: 한 후 체크아웃했습니다.BranchName
웹 인터페이스를 사용하여 분기 dev를 마스터에 병합한 다음 dev branch에서 열려 있는 VSCode를 사용하여 동기화/풀링을 시도했기 때문에 이러한 문제가 발생했습니다. (이 오류가 발생하지 않고 마스터로 변경할 수 없다는 것이 이상합니다.)
git pull
Your configuration specifies to merge with the ref 'refs/heads/dev'
from the remote, but no such ref was fetched.'
refs/heads/dev를 찾을 수 없다는 것이 의미가 있습니다. 로컬 폴더를 삭제하고 다시 복제하는 것이 더 쉬웠습니다.
디스크가 꽉 찼을 때 "git pull"을 수행할 때 정확히 이 오류가 발생했습니다.약간의 공간을 만들었고 모든 것이 다시 잘 작동하기 시작했습니다.
저의 경우, Github의 브랜치 이름을 변경하여 다음 명령을 실행하도록 했습니다.
기본 분기의 이름이 변경되었습니다!
main is now named <new_name>
로컬 복제본이 있는 경우 다음을 실행하여 업데이트할 수 있습니다.
git branch -m main <new_name>
git fetch origin
git branch -u origin/<new_name> <new_name>
git remote set-head origin -a
저는 방금 "그런 심판이 나오지 않았다"는 문제를 경험했고, 위의 제안 중 어떤 것도 도움이 되지 않았습니다.제가 해결한 방법은 로컬 구성을 변경하는 것이었습니다.
remote.origin.fetch=+refs/heads/master:refs/remotes/origin/master
로.
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
그게 왜 효과가 있었는지는 모르겠지만, 효과가 있었습니다.이 변화 이후에, 저는 제가 기대했던 것을 끌어낼 수 있었고 받을 수 있었습니다.
다시 변경하면 당길 때 "No this ref was fetched"라는 메시지가 다시 표시됩니다.따라서 이 문제는 확실히 해결책이었습니다(인터넷, 사례 차이, 전체 드라이브, 삭제된 원격 분기 또는 "마스터"라는 이름이 아닌 기본 분기 등).
누군가 원격으로 지점을 삭제했는지 확인해 보세요.
올바른 케이스를 사용하지 않았을 때 동일한 오류가 발생했습니다.저는 '통합'을 확인할 수 있었습니다.Git가 나에게 수술을 하라고 했어요.git pull
내 지점을 업데이트합니다.저는 그렇게 했지만, 언급된 오류를 받았습니다.올바른 지점 이름은 대문자 'I'를 사용하는 'Integration'입니다.제가 그 지점을 확인하고 당겨보니 문제없이 작동했습니다.
- 로컬 분기 이름 변경
git branch -m temp
- 모든 분기 표시
git branch -a
- 특정 원격 분기를 확인합니다.
git checkout main
- temp 분기 삭제
git branch -d temp
편할수다니있을 할 수 .~/.gitconfig
파일을 홈 폴더에 저장합니다.여기서 all --global 설정이 저장됩니다.
또는 사용git config --global --unset-all remote.origin.url
후 행실후git fetch
저장소 URL을 사용합니다.
저는 현재 지점이 개발 중이고 MR 지점에 체크아웃하고 그 이후로 git pull을 하는 것과 같은 문제에 직면했습니다.쉽게 해결할 수 있는 방법은 MR Branch를 위해 새 폴더를 생성하고 Git Pull을 수행한 다음 Git Clone을 수행한 것입니다.
그래서 기본적으로 코드를 다른 분기로 푸시하기 위해 다른 폴더를 유지했습니다.
이 경우 마스터를 새 프로젝트로 가져올 수 없습니다.
제가 이걸 명령 줄에 넣은 후에 효과가 있었어요
git config --global http.sslVerify false
참조: https://confluence.atlassian.com/bitbucketserverkb/can-t-access-bitbucket-server-with-git-issuer-certificate-is-invalid-779171808.html
Github repo에 있는 지점의 pull 요청이 승인되었으며, dev 지점에 병합되어 더 이상 오리진에 존재하지 않습니다.
저의 경우 레포를 일시적으로 사용할 수 없었습니다(유지보수 중).
정확한 오류가 발생했지만 제안된 답변(대소문자 구분)은 문제가 되지 않았습니다.그들은 아마도 99%의 문제에 대해 찬성할 것이지만, 여전히 1%가 남아 있습니다.
WSL/Linux 파일 공유와 Windows 기본 디렉터리를 혼합하는 것이 문제인 것으로 나타났습니다.WSL(Ubuntu 20.04)을 실행하고 있었고 Windows에서 액세스/편집된 레포가 있지만 코드는 WSL에서 실행되고 있었습니다.WSL 측에서 Git 상태를 확인했을 수도 있습니다.
보고서가 존재했고, 사례가 정확했으며, 인터넷이 정상적으로 작동했으며, 지점이 하나도 제거되지 않았습니다.그러나 원격에서 와 병합하도록 구성이 지정되어 있지만 이러한 참조를 가져오지 않았습니다.?라는 오류도 발생했습니다.
제가 수정한 것은 모든 항목이 푸시되었는지/모든 변경 사항이 기록되었는지 확인한 다음 디렉터리를 제거하고 Windows에서 'git clone'을 다시 수행하는 것이었습니다.그런 다음 'git checkout'이 잘 작동했습니다.이게 진짜 답이 아니라는 걸 알지만, 효과가 있었습니다.
저는 코드 라이브러리가 'git clone'을 포함한 특정 작업을 자동화하는 Linux 개발을 하고 있었습니다. 하지만 저는 보통 Windows에서 코드 푸시를 수행합니다..git 폴더는 크로스 플랫폼 호환이 되지 않는 것 같습니다(예상했던 것은 아닙니다).하지만, 그것은 보통 효과가 있습니다.벌레야?논쟁의 여지가 있는.
깃은 또한 때때로 친절하고 무그라인 엔딩을 만들기 위해 너무 열심히 노력할 것입니다. 그것은 다른 문제입니다. (그리고 종교에 가깝습니다.)저는 불가지론자입니다.예, 설정이 있습니다.)
▁with다로 패키지를 설치할 때 했습니다.yarn
관계에 지점 되었습니다.main
안으로master
종속성에 대한 업스트림 업데이트만 수행해도 문제가 해결되지 않았습니다. 추가로 시스템을 청소해야 했습니다.yarn
현금화하다
A 프로젝트는 지점 이름을 변경했습니다(
main
->master
B의 입니다. 프로젝트 A는 프로젝트 B의 종속성입니다.yarn install
를 일으킴 B> <--- 프로젝트 B>yarn install
를 일으킴 B> <--- 프로젝트 B>yarn cache clean
yarn install
프로젝트 B <-- 지금 작동합니다.
비공식적이지만 로컬 프로젝트를 삭제하고 다시 복제하는 것이 효과가 있었습니다.
합병을 위한 지점을 개발한 적이 없기 때문에 그렇게 하는 것이 안전했습니다.
원격에서 병합되고 삭제된 지점에 있었습니다.존재하는 지점에 체크아웃을 하고 당겨보는 것이 도움이 되었습니다.
언급URL : https://stackoverflow.com/questions/36984371/your-configuration-specifies-to-merge-with-the-branch-name-from-the-remote-bu
'programing' 카테고리의 다른 글
GitHub 저장소를 복제하기 전에 크기를 확인하려면 어떻게 해야 합니까? (0) | 2023.05.12 |
---|---|
다중 ng-콘텐츠 (0) | 2023.05.12 |
Bash에서 글로벌에 일치하는 항목이 있는지 테스트 (0) | 2023.05.12 |
Git에서 마지막 커밋을 두 개로 나누는 방법은 무엇입니까? (0) | 2023.05.12 |
어셈블리의 net standard, Version=2.0.0.0에 대한 참조를 추가해야 합니다. (0) | 2023.05.12 |