A ramificação atual não está configurada para pull Nenhum valor para a chave branch.master.merge encontrada na configuração

163

Eu recebo esse erro quando tento extrair do repositório remoto usando o Egit team> pull

A ramificação atual não está configurada para pull Nenhum valor para a chave branch.master.merge encontrada na configuração

Ismail Marmoush
fonte
2
Tive o mesmo problema, mas o valor da chave remote.origin.url encontrou como corrigir isso no stackoverflow.com/a/10662106/759452 #
Adrien Be

Respostas:

155

O seu ramo principal local não está configurado para rastrear o ramo principal remoto.

Você pode fazer git pull origin masterpara informar ao git o ramo explícito que deseja extrair ou adicioná-lo ao seu .git / config:

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

Quando você pressiona para dominar pela primeira vez, adicione a -uopção ( git push -u origin master). Isso configurará tudo automaticamente.

Michał Szajbe
fonte
25
Mas como você faz isso no eclipse? Eu acredito que a pergunta está marcada como "eclipse". Obrigado! :)
jmort253
2
+1 Obrigado de qualquer maneira. Sua resposta fez ajuda pois verifica-se que não foram criados para puxar :) Uma vez que figurado como configurar que em Eclipse, as coisas vieram juntos. Agora estamos descobrindo que o Git não é tão doloroso de se trabalhar quando você passa a cabeça na maneira como funciona. Basicamente, verificamos o repositório novamente e o configuramos para puxar.
precisa saber é o seguinte
16
@ jmort253 seria ótimo se você atualizasse a pergunta com os detalhes do que foi necessário alterar no eclipse para configurar isso.
gview
@ gview - Desculpe, parei de usar o Egit e estou usando a linha de comando. Quando eu puxo, o Eclipse marca todos os arquivos que meus colegas confirmaram como modificados por mim e não incluem as alterações. Então, eu estou usando a linha de comando. Eu não recomendo o EGit; no entanto, meus colegas que usam Macs podem usá-lo. Se eu tentar dar outra chance (duvidosa), atualizarei a resposta aqui. Francamente, não vejo o motivo de todo esse hype. Estou pronto para voltar ao Subversion.
jmort253
9
@ jmort253, depois que deixei a mensagem, dei uma olhada e descobri que a melhor maneira de lidar com isso é fazer exatamente o que foi recomendado na resposta original. O Egit lê os valores do .git / config, portanto, editá-lo com um editor de texto, conforme descrito, corrige o problema.
gview
64

Como se vê, a resposta de @ Michał Szajbe É a solução para o problema. As chaves de eclipse em questão são construídas a partir do egit "diretório de trabalho". Se você encontrar esse problema, localize o diretório .git nesse diretório de trabalho e edite o arquivo .git / config com um editor de texto, adicionando a seção que Michal descreve. Essa é, na minha experiência, uma operação bastante padrão nos dias de hoje, quando você inicia o git init e envia para um controle remoto não inicializado, que cria a ramificação principal. Nesse caso, não encontrei uma maneira de não fazer a edição manual para executar o git pull, mesmo com a linha de comando git.

Depois que a edição é salva, clique com o botão direito do mouse no repositório git na perspectiva "Git Repositories" do egit e escolha propriedades. Agora você verá que esta seção de chaves foi criada (ou, provavelmente, apenas lida no arquivo de configuração) e um controle remoto master para mestre local git pull irá operar conforme o esperado daqui para frente.

insira a descrição da imagem aqui

É possível que você insira essas chaves e se valorize, mas copiar e colar o que Michal mostra é certamente muito mais rápido e provavelmente mais seguro. Na verdade, não tentei adicionar as chaves manualmente através do editor de propriedades, como provavelmente este método funciona e faz sentido, já que o egit está simplesmente chamando o repositório git local.

Também estou apoiando algumas pessoas no meu escritório que estão usando o Flex e o editor Flexbuilder, construído sobre eclipse e egit. Essas instruções são igualmente relevantes para eles.

gview
fonte
7
Não editei o arquivo de configuração diretamente, mas adicionei a chave "branch.master.merge" usando a caixa de diálogo Propriedades mostrada acima. Isso também funcionou como um tubarão.
Matthias Wuttke
57

Para corrigir esse problema no Eclipse, abra o menu do Windows e selecione Show View / Other / Git Repositories .

Na guia Repositórios do Git:

  • expanda seu repositório local
  • clique com o botão direito do mouse em Remoto
  • clique em Criar remoto ...
  • Nome remoto = origem
  • ao lado de IRI, pressione o botão Alterar
  • CTRL+ SPACEno URI
  • selecione o local remoto
  • pressione Concluir
  • pressione Salvar e pressionar

Novamente, na guia Repositórios do Git:

  • clique direito na origem
  • selecione Configurar busca ...
  • no mapeamento Ref, pressione o botão Editar (Avançado) ...
  • pressione Adicionar todas as ramificações
  • marque a caixa de seleção Forçar atualização
  • pressione Concluir

Novamente, na guia Repositórios do Git:

  • clique com o botão direito do mouse no seu repositório local
  • selecione Propriedades
  • pressione Nova Entrada ...
  • insira as duas seguintes chaves:

(1)

Key = branch.master.remote
Value = origin

2)

Key = branch.master.merge
Value = refs/heads/master
Marco Lackovic
fonte
4
Para mim, esta é a melhor resposta para a pergunta.
Kashif Nazar
1
A resposta aceita parece estar faltando algumas etapas abordadas aqui.
FableBlaze #
47

Isso funcionou para mim:

Clique com o botão direito do mouse na minha ramificação local com check-out que não pode ser puxada (a minha é chamada "development"). Selecione "Configure Branch ..." Para "Upstream Branch:", selecionei "refs / heads / development" para "Remote:" Selecionei "origem" Esquerda "Rebase" desmarcada Pressione OK

Agora minha janela de configuração pref se parece com a da resposta do gview.

Zip184
fonte
14
Achei "Configurar Filial ..." muito difícil de encontrar. Eu consegui encontrá-lo, indo para a vista "Git Repositórios", ramos em expansão, clicando local e depois à direita no ramo
Edd
18

Eu também tive problemas para configurá-lo. Está funcionando agora, então vou compartilhar meu arquivo de configuração. Eu acho que vai ajudar:

[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/*

Nota: https://github.com/chelder86/ArcadeTongame.gitdeve ser substituído pelo seu próprio URL de clone HTTPS.

chelder
fonte
Um arquivo de configuração funcional é exatamente o que eu precisava examinar. Obrigado!
Martin Tuskevicius
10

Mesmo problema. Aqui está como eu o resolvi no eclipse / egit :

Originalmente, eu clonei um repositório remoto no meu computador do escritório (meu próprio repositório, mas em um servidor remoto). Em seguida, criei uma nova ramificação do projeto repo localmente ("testing") e enviei-a para o repositório remoto. Repomar remotamente clonado para o meu laptop, alternar para ramo "testing", trabalhar nele, etc., forçar e depois voltar ao escritório. Quando tentei extrair alterações de "teste" do servidor, obtive a msg "ramificação local não configurada para extração".

O problema é que, na área de trabalho, "testing" é apenas local, não possui informações de URL remotas e, portanto, não pode receber alterações.

Eu resolvi isso no eclipse (egit) por:

  1. excluindo filial local
  2. puxar ramificação do repositório remoto como nova ramificação.

Os passos foram:

  • Vá para a perspectiva Explorando o Repositório Git
  • renomear ramo local "zzz" (paranóico, não gosta de excluir até ter certeza de que estou certo!)
  • rt-clique em "Ramos", "Alternar para", "Novo ramo"
  • na lista "Referência da fonte", selecione a ramificação "testing" (estratégia de mesclagem "mesclar", "Checkout new branch" marcada)
  • clique em "terminar"
  • Mude para a perspectiva usual, verifique se meus arquivos estão presentes
  • volte ao Git Repository Explorando e exclua o ramo "zzz"

Nota: estou executando o Eclipse Indigo. As etapas podem ser diferentes em outros lançamentos.

ian scott-flamengo
fonte
9

Acabei de receber o mesmo problema, mas a resposta aceita não funcionou para mim. Aqui está o que eu fiz (embora eu não possa confirmar se a resposta aceita teve um impacto, pois a configuração atualizada permanece):

Expanda sua árvore de repositórios git na exibição 'Repositórios Git'.

Clique com o botão direito em 'Remotes' e selecione 'Criar remoto'

Selecione o botão de opção 'Configurar busca' -> 'Ok'

Selecione 'Alterar' ao lado da caixa de texto 'URI'

Digite os detalhes do seu repositório git e clique em 'Concluir'

Selecione "Salvar"

Agora você deve conseguir extrair do repositório remoto.

Nota - quando tentei 'Dry-Run', que acho que é apenas um teste de conexão, falhou, mas o pull ainda funcionou.

céu azul
fonte
funciona perfeitamente. Solução semelhante à desta pergunta stackoverflow.com/a/10662106/759452 #
Adrien Be
3

Sobre a solução da gview:

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

Você não precisa encontrá-lo ou abrir com um editor de texto.

  • Janela -> Mostrar visualização -> Outros -> GIT -> Repositórios Git
  • Expanda a pasta repo que você criou.
  • Ele conterá uma pasta chamada "Diretório de Trabalho" e a expandirá.
  • Haverá uma pasta dentro da pasta "Diretório de Trabalho" chamada ".git" e a expanda.
  • Dentro de ".git" haverá "config", clique com o botão direito em "config" -> aberto no editor. O arquivo de configuração será aberto no Eclipse, onde você pode editá-lo. Adicionei o seguinte e agora posso puxar sem erros:

[ramo "mestre"]

remoto = origem

mesclar = refs / chefes / mestre

Mike
fonte
2

O que eu descobri que funcionava usando o eclispe (esse certamente não é o caminho certo para fazer isso, mas funciona): envie para o repositório remoto, exclua o espaço de trabalho e o repositório local, importe do git usando o diálogo de importação. O assistente de importação cuida de configurar tudo para futuras solicitações.

Thomas
fonte
2

Tente janelas-> Mostrar Visualização-> Navegador. Nas janelas do Navegador, encontre a pasta bin no seu projeto. Em seguida, envie a pasta bin para o github e espere que funcione bem. Tente puxar ou buscar depois de todas as tarefas acima.

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

Uma alternativa para PULL (evitando o erro acima) é:

  1. FETCH para atualizar sua filial remota em sua máquina
  2. MERGE da filial local com a filial remota
    (Equipe -> Mesclar ... -> Rastreamento remoto -> origem / filial )
Rocha
fonte
2

exibição do repositório git -> + branches -> local -> selecione o branch local que você deseja atribuir ao remoto -> clique com o botão direito do mouse -> selecione o remote (provavelmente origem) e o branch upstream

Piotrek
fonte
isso foi feito no eclipse sem nenhuma modificação no "arquivo de configuração". Deve ser a resposta aceita, pois a pergunta é específica para eclipse.
josephus
1

A solução mais simples que encontrei ao usar o plug-in Eclipse Git é a seguinte:

  1. Clique com o botão direito do mouse no projeto e selecione Equipe> Enviar Filial
  2. Verifique se a caixa ao lado de "Configurar upstream para push and pull" está marcada
  3. Clique em Avançar e conclua o push.

Depois que isso for concluído, a ramificação também será configurada corretamente para pull também.

Francis Brennan
fonte
1

edite o arquivo de configuração na pasta .git do seu repositório assim.

substituir https://github.com/your/uri pelo seu uri do repositório do github.

boa sorte.

[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/*

ps: use a idéia, esqueça o eclipse

TGich
fonte
0

Você precisa substituir seu arquivo de configuração por este código. Seu arquivo de configuração está localizado dentro da pasta 'git' em seu repositório. A pasta 'git' está oculta, então primeiro você precisa mostrar os arquivos ocultos. Abra o arquivo de configuração e escreva estes códigos: -

[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
víbora
fonte
0

Eu tenho o mesmo problema no Eclipse Neon. Mas nenhuma solução funcionou para mim. Eu consegui o problema quando mudei a ramificação do projeto e, em seguida, lançou esse erro. A solução que tentei é:

  1. Vá para o projeto / .git / config arquivo de .
  2. Se rebase = false , remova-o.
  3. Atualize seu projeto.
  4. Git pull ou pull do eclipse.
  5. Erro resolvido.

PS: Como se trata de um tópico antigo, basta atualizar, pois isso pode vir para outra pessoa.

Abelha atarefada
fonte
0

Ao confirmar, se você encontrar esse problema. Tente esta abordagem simples:

  1. Equipe-> Push to upstream - Um pop-up é aberto.
  2. Copie seu URI e cole nesse pop-up.

Você ramifica é configurado para puxar / empurrar. Suas alterações de código serão enviadas para o repositório.

obrigado

Ganapati prasad
fonte