현재 분기가 pull에 대해 구성되지 않았습니다. 구성에서 키 branch.master.merge에 대한 값이 없습니다.


163

Egit team> pull을 사용하여 원격 저장소에서 가져 오려고하면이 오류가 발생합니다.

현재 분기가 pull에 대해 구성되지 않았습니다. 구성에서 키 branch.master.merge에 대한 값이 없습니다.


2
같은 문제가 있었지만 key remote.origin.url의 가치에 대해 stackoverflow.com/a/10662106/759452
Adrien Be

답변:


155

로컬 마스터 분기가 원격 마스터 분기를 추적하도록 설정되어 있지 않습니다.

당신이 할 수있는 git pull origin master당신이 끌어하고자하는 명시 적 분기를 자식에게 또는 당신은 당신의 .git / 설정이 추가 :

[branch "master"]
  remote = origin
  merge = refs/heads/master

처음으로 마스터로 밀면 -u스위치 ( git push -u origin master)를 추가하십시오 . 모든 것이 자동으로 설정됩니다.


25
그러나 어떻게 이클립스에서 이것을합니까? 질문에 "eclipse"태그가 붙어 있다고 생각합니다. 감사! :)
jmort253

2
어쨌든 +1 감사합니다. 귀하의 답변 도움이되지 않았기 때문에 도움이되었습니다 :) Eclipse에서 구성하는 방법을 알아 낸 후에는 문제가 발생했습니다. 우리는 이제 Git이 작동하는 방식으로 머리를 감싸면 작업하기가 고통스럽지 않다는 것을 알게되었습니다. 우리는 기본적으로 저장소를 다시 체크 아웃하고 풀하도록 구성했습니다.
jmort253

16
@ jmort253은 이것을 구성하기 위해 일식에서 변경 해야하는 세부 사항으로 질문을 업데이트하는 경우 좋을 것입니다.
gview

@gview-죄송합니다. Egit 사용을 중단했으며 명령 줄을 사용하고 있습니다. 내가 뽑을 때, Eclipse는 동료가 내가 수정 한 것으로 지정한 파일을 표시했으며 변경 사항은 포함하지 않았습니다. 그래서 명령 줄을 사용하고 있습니다. 나는 EGit을 권장하지 않습니다. 그러나 Mac을 사용하는 동료들은 그것을 사용할 수 있습니다. 또 다른 기회를 주려고한다면 (여기서는) 여기에서 답변을 업데이트하겠습니다. 솔직히 말해서, 모든 과대 광고가 무엇인지 알 수 없습니다. Subversion으로 돌아갈 준비가되었습니다.
jmort253

9
@ jmort253, 내가 당신에게 메시지를 남긴 후, 나는 찔 렀고 이것을 처리하는 가장 좋은 방법은 원래 회신에서 권장 된 것을 정확하게 수행하는 것임을 알아 냈습니다. Egit은 .git / config에서 값을 읽으므로 설명대로 텍스트 편집기로 값을 편집하면 문제가 해결됩니다.
gview

64

@ Michał Szajbe의 대답은 문제에 대한 해결책입니다. 문제의 이클립스 키는 egit "작업 디렉토리"에서 빌드됩니다. 이 문제가 발생하면 해당 작업 디렉토리에서 .git 디렉토리를 찾고 텍스트 편집기로 Michal 설명 섹션을 추가하여 .git / config 파일을 편집하십시오. 이것은 처음에는 처음으로 초기화하고 초기화되지 않은 리모컨으로 푸시하여 마스터 분기를 만드는 경우에 대한 표준 작업입니다. 이 경우 명령 줄 git에서도 git pull을 수행하기 위해 수동 편집을 수행하지 않는 방법을 찾지 못했습니다.

편집을 저장 한 후 egit "Git Repositories"퍼스펙티브에서 git repo를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하면이 키 섹션이 생성되었거나 구성 파일에서 읽은 것 같습니다. 마스터 대 로컬 마스터 git pull은 앞으로 예상대로 작동합니다.

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

이 키와 값을 직접 입력 할 수는 있지만 Michal이 보여주는 것을 복사하여 붙여 넣는 것이 훨씬 빠르고 안전합니다. 실제로 속성 편집기를 통해 수동으로 키를 추가하려고 시도하지 않았 으며이 방법이 작동한다는 것을 알기 때문에 egit이 단순히 로컬 git repo를 호출하기 때문에 의미가 있습니다.

또한 Flex 및 Eclipse 및 egit 기반으로 빌드 된 Flexbuilder 편집기를 사용하는 일부 직원을 지원하고 있습니다. 이 지침은 그들과 똑같이 관련이 있습니다.


7
구성 파일을 직접 편집하지는 않았지만 위에 표시된 속성 대화 상자를 사용하여 "branch.master.merge"키를 추가했습니다. 이것은 또한 sharm처럼 작동했습니다.
Matthias Wuttke

57

Eclipse에서이 문제를 해결하려면 Windows 메뉴를 열고 Show View / Other / Git Repositories를 선택하십시오 .

힘내 저장소 탭에서 :

  • 지역 저장소를 확장하십시오
  • Remote를 마우스 오른쪽 버튼으로 클릭하십시오.
  • Create Remote ...를 클릭하십시오 .
  • 원격 이름 = 출발지
  • IRI 옆에 있는 변경 버튼을 누릅니다.
  • CTRL+ SPACEURI에
  • 원격 위치를 선택하십시오
  • 마침을 누르 십시오
  • 를 눌러 저장하고 푸시

다시 Git Repositories 탭에서

  • 원점을 마우스 오른쪽 버튼으로 클릭
  • 가져 오기 구성 ...을 선택하십시오 .
  • Ref 맵핑에서 편집 (고급)을 누릅니다 .
  • 모든 지점 추가 스펙을 누르 십시오.
  • 선택 강제 업데이트 확인란을
  • 마침을 누르 십시오

다시 Git Repositories 탭에서

  • 로컬 저장소를 마우스 오른쪽 버튼으로 클릭하십시오.
  • 속성을 선택하십시오
  • 새 항목을 누릅니다 ...
  • 다음 두 키를 입력하십시오.

(1)

Key = branch.master.remote
Value = origin

(2)

Key = branch.master.merge
Value = refs/heads/master

4
나에게 이것은 질문에 대한 가장 좋은 대답입니다.
Kashif Nazar

1
수락 된 답변에 여기에 설명 된 일부 단계가 누락 된 것 같습니다.
FableBlaze

47

이것은 나를 위해 일했다 :

가져올 수없는 체크 아웃 된 로컬 지점을 마우스 오른쪽 단추로 클릭합니다 ( "개발"이라고 함) "지점 구성 ..."을 선택합니다. "업스트림 지점 :"에 대해 "원격 :"에 대해 "참조 / 헤드 / 개발"을 선택했습니다. "origin"을 선택했습니다. "Rebase"를 선택하지 않았습니다. 확인을 누릅니다.

이제 내 구성 준비 창은 gview의 답변과 같습니다.


14
"지점 구성 ..."을 찾기가 매우 어렵다는 것을 알았습니다. 나는 "Git Repositories"뷰로 가서 지점을 확장 한 다음 로컬을 마우스 오른쪽 버튼으로 클릭하여 찾을 수 있었다
Edd

18

또한 구성하는 데 문제가있었습니다. 지금 작동 중이므로 구성 파일을 공유하겠습니다. 도움이 될 것이라고 생각합니다.

[core]
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true

    [branch "master"] 
        remote = origin 
        merge = refs/heads/master 
    [remote "origin"] 
        url = https://github.com/chelder86/ArcadeTongame.git
        fetch = +refs/heads/*:refs/remotes/origin/*

참고 : https://github.com/chelder86/ArcadeTongame.git자체 HTTPS 복제 URL로 바꿔야합니다.


작동하는 구성 파일은 내가보아야 할 것입니다. 감사!
마틴 Tuskevicius

10

같은 문제입니다. 이클립스 / egit 내에서 해결하는 방법은 다음과 같습니다 .

원래는 원격 컴퓨터를 내 사무실 컴퓨터 (내 자신의 저장소이지만 원격 서버)에 복제했습니다. 그런 다음 로컬로 새 리포 프로젝트 분기 ( "테스트")를 만들어 원격 리포지토리로 푸시했습니다. 랩톱에 원격 리포지토리를 복제하고 "테스트"지점으로 전환 한 후 작업을 수행 한 후 다시 사무실로 돌아 왔습니다. 서버에서 "테스트"변경 사항을 가져 오려고 할 때 msg "로컬 브랜치가 풀로 구성되지 않았습니다"가 표시되었습니다.

문제는 데스크톱에서 "테스트"가 로컬 전용이고 원격 URL 정보가 없으므로 변경 사항을 가져올 수 없다는 것입니다.

나는 이클립스 (egit) 내에서 이것을 해결 했다.

  1. 지역 지점 삭제
  2. 원격 저장소에서 지점을 새 지점으로 가져옵니다.

단계는 다음과 같습니다.

  • Git 리포지토리 둘러보기
  • 로컬 브랜치 "zzz"의 이름을 바꿉니다. (편집증입니다.
  • rt- 클릭 "지점", "전환", "새 지점"
  • "소스 참조"목록을 풀다운하고 "테스트"분기를 선택하십시오 (풀 전략 "병합", "새 분기 체크 아웃"이 선택됨)
  • "마침"을 클릭하십시오
  • 일반적인 관점으로 전환하고 내 파일이 있는지 확인하십시오
  • Git Repository로 돌아가서 "zzz"브랜치 삭제

참고 : Eclipse Indigo를 실행 중입니다. 다른 릴리스에서는 단계가 다를 수 있습니다.


9

방금 동일한 문제가 발생했지만 승인 된 답변이 효과가 없었습니다. 다음은 내가 한 일입니다 (업데이트 된 구성이 남아있어 허용 된 답변이 영향을 미쳤는지 확인할 수는 없지만).

git 저장소 트리를 'Git Repositories'보기에서 확장하십시오.

'원격'을 마우스 오른쪽 버튼으로 클릭하고 '원격 생성'을 선택하십시오.

라디오 버튼 '페치 구성'-> '확인'을 선택하십시오.

'URI'텍스트 상자 반대편에있는 '변경'을 선택하십시오.

git 저장소 세부 정보를 입력하고 '마침'을 클릭하십시오

'저장'을 선택하십시오

이제 원격 저장소에서 가져올 수 있습니다.

참고-연결 테스트라고 생각되는 'Dry-Run'을 시도했을 때 실패했지만 풀이 여전히 작동했습니다.


완벽하게 작동합니다. 이 질문과 비슷한 솔루션 stackoverflow.com/a/10662106/759452
Adrien Be

3

gview의 솔루션 정보 :

then find the .git directory in that working directory and edit the .git/config file with a text editor

직접 찾거나 텍스트 편집기로 열 필요가 없습니다.

  • 창->보기 표시-> 기타-> GIT-> Git 저장소
  • 작성한 repo 폴더를 펼치십시오.
  • "Working Directory"라는 폴더가 포함되어 있습니다.
  • "Working Directory"폴더 안에 ".git"라는 폴더가 펼쳐져 있습니다.
  • ".git"안에 "config"가 있고 "config"를 마우스 오른쪽 버튼으로 클릭하고 편집기에서 엽니 다. 설정 파일은 편집 할 수있는 Eclipse에서 바로 열립니다. 다음을 추가했으며 이제 오류없이 당길 수 있습니다.

[지점 "마스터"]

원격 = 원산지

병합 = 심판 / 헤드 / 마스터


2

내가 eclispe를 사용하여 작동 한 것을 발견했습니다 (이것은 분명히 올바른 방법은 아니지만 작동합니다) : 원격 저장소로 푸시, 로컬 작업 공간 및 저장소 삭제, 가져 오기 대화 상자를 사용하여 자식에서 가져 오기. 가져 오기 마법사는 향후 풀을 위해 모든 것을 설정합니다.


2

windows-> Show View-> Navigator를 사용해보십시오. 네비게이터 창에서 프로젝트에서 bin 폴더를 찾은 다음 bin 폴더를 github에 커밋하고 제대로 작동하기를 바랍니다. 위의 모든 작업 후에 가져 오거나 가져옵니다.


2
The current branch is not configured for pull.
No value for key branch.master.merge found in configuration

위의 오류를 피하는 PULL 의 대안 은 다음과 같습니다.

  1. 머신에서 원격 브랜치를 업데이트하는 FETCH
  2. MERGE 원격 지점과 현지 지점
    (팀 -> 병합 ... -> 원격 추적 -> 원 / 지점 )

2

자식 저장소보기-> + 지점-> 로컬-> 원격 지점에 할당 할 로컬 지점 선택-> 마우스 오른쪽 버튼 클릭-> 원격 (아마도 원점) 및 업스트림 지점 선택


이것은 "구성 파일"수정없이 일식으로 수행했습니다. 질문은 일식에만 적용되므로 허용되는 답변이어야합니다.
josephus

1

Eclipse Git 플러그인을 사용하는 동안 찾은 가장 간단한 솔루션은 다음과 같습니다.

  1. 프로젝트를 마우스 오른쪽 단추로 클릭하고 팀> 푸시 지점을 선택하십시오.
  2. "푸시 및 풀 업스트림 구성"옆의 상자가 선택되어 있는지 확인하십시오
  3. 다음을 클릭하고 푸시를 완료하십시오.

이 작업이 완료되면 이제 분기도 올바르게 구성됩니다.


1

저장소 .git 폴더의 구성 파일을 다음과 같이 편집하십시오.

https://github.com/your/urigithub 저장소 URI로 교체 하십시오.

행운을 빕니다.

[core]
    symlinks = false
    repositoryformatversion = 0
    filemode = false
    logallrefupdates = true
[branch "master"]
    remote = origin
    merge = refs/heads/master
[remote "origin"]
    url = https://github.com/your/uri
    fetch = +refs/heads/*:refs/remotes/origin/*

추신 : 아이디어 사용, 일식 잊어


0

구성 파일을이 코드로 바꾸어야합니다. 구성 파일은 리포지토리의 'git'폴더 안에 있습니다. 'git'폴더는 숨겨져 있으므로 숨겨진 파일을 먼저 표시해야합니다. 구성 파일을 열고 다음 코드를 작성하십시오.

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true


hideDotFiles = dotGitOnly
[remote "origin"]
url = 'url to the git repository that you want to pull'
fetch = 

+refs/heads/*:refs/remotes/origin/*
puttykeyfile = 
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal


geometry = 887x427+66+66 171 192

0

Eclipse Neon에서 동일한 문제가 발생했습니다. 그러나 어떤 해결책도 나를 위해 일하지 않았습니다. 프로젝트의 브랜치를 변경 했을 때 문제가 발생 하여이 오류가 발생했습니다. 내가 시도한 해결책은 다음과 같습니다.

  1. 이동 / .git / config에 프로젝트 파일로 하십시오.
  2. rebase = false 인 경우 제거합니다.
  3. 프로젝트를 새로 고칩니다.
  4. git pull 또는 eclipse에서 당기십시오.
  5. 오류가 해결되었습니다.

추신 : 그것은 오래된 스레드이기 때문에 다른 누군가를 위해 업데이트 될 수 있습니다.


0

커밋하는 동안이 문제가 발생하면 이 간단한 접근법을 시도하십시오.

  1. 팀-> 업스트림으로 푸시-팝업이 열립니다.
  2. URI를 복사하여 해당 팝업에 붙여 넣습니다.

분기 / 풀을 구성합니다. 코드 변경 사항이 리포지토리로 푸시됩니다.

감사

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