Push Git: “fatal 'origem' não parece ser um repositório git - fatal não foi possível ler do repositório remoto.”


118

Eu sei que perguntas semelhantes já foram feitas.

Mas, creio que meu problema se deve a um erro que cometi anteriormente e, portanto, é diferente: deixe-me explicar.

Tudo estava funcionando perfeitamente, como pude:

  • git add . todos os arquivos do meu repositório local.
  • git commit -m "message here" para adicionar mensagens aos meus commits.
  • git push origin master para enviar meus arquivos ao GitHub.
  • git push heroku master para enviar meus arquivos para o Heroku.

No entanto, em algum momento, criei um novo branch chamado localmente add-calendar-modelpara o caso de as próximas etapas do desenvolvimento do aplicativo irem para o sul ...

... que é exatamente o que aconteceu.

No entanto, apesar de muitas tentativas, não consegui obter o código inicial - ou seja, o código de antes de criar o novo branch - do masterbranch para o meu repositório local.

Portanto, decidi excluir manualmente todos os arquivos do meu repositório local e git clonemeu masterbranch do GitHub.

Assim, recuperei todos os meus arquivos, mas agora não consigo enviar mais nenhum para o repositório remoto.

Sempre que tento executar git push origin add-calendar-modelou git push origin master, obtenho o seguinte erro:

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Não estou muito confortável com Git e GitHub, como você já deve ter adivinhado, e tenho que admitir que não tenho ideia de como consertar isso.

Qualquer ideia?


Eu tive um erro semelhante, mas meu problema foi inicializar o git no diretório pai da pasta atual que estava tentando. Para o caso de alguém ainda estar olhando, pode olhar onde o git foi inicializado e tentar novamente.
Himanshu Kriplani,

Respostas:


214

Primeiro, verifique se sua origem está definida executando

git remote -v

Isso deve mostrar todos os controles remotos de push / busca do projeto.

Se isso retornar sem saída, vá para o último bloco de código.

Verifique o nome / endereço remoto

Se isso retornar mostrando que você definiu controles remotos, verifique se o nome do controle remoto corresponde ao controle remoto que você está usando em seus comandos.

$git remote -v
myOrigin ssh://git@example.com:1234/myRepo.git (fetch)
myOrigin ssh://git@example.com:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master

Se você deseja renomear o controle remoto ou alterar o URL do controle remoto, primeiro remova o controle remoto antigo e, em seguida, adicione o correto.

Remova o controle remoto antigo

$git remote remove myOrigin

Adicionar controle remoto ausente

Você pode então adicionar o controle remoto apropriado usando

$git remote add origin ssh://git@example.com:1234/myRepo.git

# this will now work as expected
$git push origin master

Funcionou para mim sem a ssh://frente degit@example.com:1234/myRepo.git
Carol-Theodor Pelu

Eu estava lendo esta pergunta se você poderia ajudar com o novo erro de envio de repositório também?
StaticVariable

12

Como Matt Clark afirmou acima

No entanto, a origem pode não ser definida, pule a etapa de exclusão e simplesmente tentar adicionar pode limpar isso.

git remote add origin <"clone">

Onde "clone" é simplesmente entrar em seu repositório GitHub e copiar o "URL clone HTTPS" e colar no GitBash


3

Certifique-se de que o arquivo de configuração em .git está correto ... Verifique o URL e certifique-se de usar o protocolo correto para suas chaves ... ProjectWorkspace / .git / config

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://emmap1@bitbucket.org/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

Estamos olhando a URL ... por exemplo: Para bitbucket, espere git@bitbucket.org .... Se for gitbucket.org. faça as alterações necessárias. SALVAR Tente pressionar novamente.


1

Funciona para mim.

git remote add origin https://github.com/repo.git
git push origin master

adicione a URL do repositório à origem no diretório de trabalho local


0

Um erro semelhante aparece ao extrair as alterações da origem. Se você estiver tentando no Intellij a partir das opções do menu, o pull pode não funcionar diretamente.

Vá para o terminal e digite este comando e isso deve funcionar: git pull origin master


0

Eu tive o mesmo problema. Quando verifiquei meu arquivo de configuração, percebi que 'fetch = + refs / heads / : refs / remotes / origin / ' estava na mesma linha que 'url = Z: /GIT/REPOS/SEL.git', conforme mostrado:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

A princípio não pensei que isso teria importância, mas depois de ver a postagem de Magere mudei a linha e isso resolveu o problema:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

0

se você adicionar seu repositório remoto usando git clone, siga as etapas: -

git clone <repo_url> então

git init

git add * * significa adicionar todos os arquivos

git commit -m 'your commit'

git remote -vpara verificar qualquer branch executado ou não, se não, nada é mostrado, então adicionamos ou buscamos o repositório. " buscar primeiro" . Você precisa correr git pull origin <branch> ou git pull -r origin <branch>antes de um próximo empurrão .

então

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```

0

Esta é a maneira que atualizei o branch master

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master

1
Tente adicionar explicações à sua resposta de uma forma que trate da pergunta e tente ajudar o leitor a entender. Atualmente, ele apenas parece uma anedota e nem mesmo funcionaria no caso geral (por exemplo, https://github.com/é a raiz do site e um
repositório

-3

Às vezes, você não tem um REF local para empurrar esse galho de volta à origem.
Experimentar

git push origin master:master

Isso indica explicitamente para qual branch enviar (e de)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.