Github “fatal: origem remota já existe”

Eu estou tentando acompanhar o tutorial Rails de Michael Hartl, mas eu me deparei com um erro.

Eu me inscrevi no Github, criei uma nova chave SSH e criei um novo repository. Mas quando eu entro na próxima linha no terminal eu recebo o seguinte erro:

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git fatal: remote origin already exists. 

Só queria saber se alguém já se deparou com esse problema?

TL; DR você deve apenas atualizar o remoto existente:

 $ git remote set-url origin git@github.com:ppreyer/first_app.git 

Versão longa:

Como a mensagem de erro indica, já existe um controle remoto configurado com o mesmo nome. Assim, você pode adicionar o novo controle remoto com um nome diferente ou atualizar o existente se não precisar dele:

Para adicionar um novo controle remoto, chamado por exemplo github vez de origin (que obviamente já existe em seu sistema), faça o seguinte:

 $ git remote add github git@github.com:ppreyer/first_app.git 

Lembre-se, porém, em todo lugar do tutorial você vê “origem”, você deve substituí-lo por “github” . Por exemplo, $ git push origin master deve agora ser $ git push github master .

No entanto, se você quiser ver qual é a origin que já existe, você pode fazer um $ git remote -v . Se você acha que isso está lá por algum erro, você pode atualizá-lo assim:

 $ git remote set-url origin git@github.com:ppreyer/first_app.git 

Em resumo,

 git remote rm origin git remote add origin git@github.com:username/myapp.git 

Trabalhou!

Felicidades!

Para aqueles de vocês correndo para o erro sempre tão comum “fatal: origem remota já existe.”, Ou ao tentar remover a origem e você recebe “erro: não foi possível remover a seção de configuração remote.origin”, o que você precisa fazer é definir a origem manualmente.

O POSH ~ Git do Windows para Windows PowerShell (e o GitHub para Windows ‘app) tem um problema com isso.

Eu corri para isso, como faço com tanta frequência, novamente ao configurar meu octopress. Então, aqui está como eu consegui trabalhar.

Primeiro, verifique seus controles remotos:

 C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v octopress https://github.com/imathis/octopress.git (fetch) octopress https://github.com/imathis/octopress.git (push) origin 

Você primeiro notará que minha origem não tem URL. Qualquer tentativa de removê-lo, renomeá-lo, etc, tudo falhará.

Então, mude o URL manualmente:

 git remote set-url --add origin https://github.com/eduncan911/eduncan911.github.io.git 

Então você pode confirmar se funcionou executando git remote -v novamente:

 C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v octopress https://github.com/imathis/octopress.git (fetch) octopress https://github.com/imathis/octopress.git (push) origin https://github.com/eduncan911/eduncan911.github.io.git (fetch) origin https://github.com/eduncan911/eduncan911.github.io.git (push) 

Isso corrigiu dezenas de git repos com os quais tive problemas, GitHub, BitBucket GitLab, etc.

Você pode ver em quais repositorys remotos você está configurado para se conectar via

 git remote -v 

Isso retornará uma lista neste formato:

 origin git@github.com:github/git-reference.git (fetch) origin git@github.com:github/git-reference.git (push) 

Isso pode ajudá-lo a descobrir o que a “origem” original apontava.

Se você deseja manter a conexão remota que você vê com o -v, mas ainda quer seguir o tutorial do Rails sem ter que se lembrar do ‘github’ (ou algum outro nome) para o repository do seu tutorial, você pode renomear seu outro repository com o comando:

 git remote rename [current name] [new name] 

como em:

 git remote rename origin oldrepo 

Você deve então poder retomar seu tutorial.

Primeiro faça um:

 git remote rm origin 

então

 git remote add origin https://github.com/your_user/your_app.git 

e voila! Trabalhou para mim!

No caso especial que você está criando um novo repository a partir de um repository antigo que você usou como modelo (não faça isso se este não for o seu caso). Apague completamente os arquivos git do repository antigo para que você possa iniciar um novo:

 rm -rf .git 

E então reinicie um novo repository git como de costume:

 git init git add whatever.wvr ("git add --all" if you want to add all files) git commit -m "first commit" git remote add origin git@github.com:ppreyer/first_app.git git push -u origin master 

Se você precisar verificar quais repositorys remotos você conectou com seus repositorys locais, existe um cmd:

 git remote -v 

Agora, se você quiser remover o repository remoto (digamos, origem), então o que você pode fazer é:

 git remote rm origin 

O conceito de remote é simplesmente a URL do seu repository remoto.

A origin é um alias apontando para esse URL. Então, em vez de escrever a URL toda vez que quisermos enviar algo para o nosso repository, apenas usamos esse alias e executamos:

git push -u origin master

Contar para git para push nosso código de nossa ramificação mestre local para o repository de origem remota .

Sempre que clonarmos um repository , o git cria esse alias para nós por padrão. Além disso, sempre que criamos um novo repository , apenas criamos o nosso self.

Seja qual for o caso, sempre podemos alterar esse nome para qualquer coisa de que gostamos, executando isto:

 git remote rename [current-name] [new-name] 

Como ele é armazenado no lado do cliente do aplicativo git (em nossa máquina), a alteração não afetará nada em nosso processo de desenvolvimento, nem em nosso repository remoto. Lembre-se, é apenas um nome que aponta para um endereço .

A única coisa que muda aqui, renomeando o alias, é que temos que declarar esse novo nome toda vez que formos enviar algo para o nosso repository.

git push -u my-remote-alias master

Obviamente, um único nome não pode apontar para dois endereços diferentes. É por isso que você recebe essa mensagem de erro. Já existe um alias chamado origin em sua máquina local. Para ver quantos aliases você tem e quais são eles, você pode iniciar este comando:

 git remote -v 

Isso mostrará todos os aliases que você tem mais os URLs correspondentes.

Você pode removê-los também, se quiser executar isto:

 git remote rm my-remote-alias 

Então, em resumo:

  • descubra o que você já tem
  • remover ou renomeá-los
  • adicione seus novos aliases.

Codificação feliz.

Essa mensagem de erro indica que você já tem um controle remoto no seu diretório git. Se você está satisfeito com o controle remoto, você pode enviar seu código. Se não, ou se você não pode empurrar apenas:

 git remote remove origin git remote add origin git@github.com:ppreyer/first_app.git 

Voilà!

Isso também pode acontecer se você executar o comando no diretório sem o git inicializado. Se esse for o caso, execute primeiro:

 git init 

Se você já adicionou o projeto para outro armazenamento, como você faz o upload para o github e depois faz o upload para o bitbucket, ele mostra esse tipo de erro.

Como remover o erro: excluir o arquivo git-hub em seu projeto e, em seguida, repita as etapas a seguir …

 git init git remote add origin git@bitbucket.org:Yourname/firstdemotry.git git add -A git commit -m 'Message' git push -u origin master 

para usar git você tem que ser

raiz

se não, então use o sudo

para remover a origem:

git remotamente remova origem

para adicionar origem:

git remote add origem http: // giturl

  • $ git remote add origin git@gitlab.com:abc/backend/abc.git

    Neste comando a origem não faz parte do comando, é apenas o nome do seu repository remoto. Você pode usar qualquer nome que quiser.

    • Primeiro você pode verificar o que contém usando o comando abaixo

    $ git remote -v

    Ele lhe dará resultado como essa origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend/abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push)

    se ele contiver seu caminho de repository remoto, você poderá enviar diretamente para ele sem adicionar origem novamente

    • Se não estiver contaneando seu caminho de repository remoto

    Então você pode adicionar nova origem com nome diferente e usar isso para empurrar como $ git remote add origin101 git@gitlab.com:abc/backend/abc.git

    Ou você pode renomear nome de origem existente adicionar sua origem

    git remote rename origin destination

    fogo abaixo do comando novamente

    $ git remote -v

    destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc/backend/abc.git (push)

    Isso mudará seu nome de repository existente para que você possa usar esse nome de origem

    Ou você pode simplesmente remover sua origem existente e adicionar sua origem

    git remote rm destination

Primeiro verifique Para ver quantos aliases você tem e quais são eles, você pode iniciar este comando git remote -v

Então veja em qual repository você está, então tente git remote set-url –add [Então seu link de repository] git push -u origin master