A origem remota já existe em 'git push' para um novo repositório
-
10-07-2019 - |
Pergunta
Eu tenho meu projeto no github em algum local, git@github.com:myname/oldrep.git
.
Agora eu quero levar todo o meu código para um novo repositório em outro local, git@github.com:newname/newrep.git
.
Eu usei o comando:
Git Remote Add Origin git@github.com: MyName/Oldrep.git
Mas estou recebendo isso:
Fatal: a origem remota já existe.
Solução
Você está recebendo esse erro porque a "origem" não está disponível. "Origin" é uma convenção que não faz parte do comando. "Origin" é o nome local do repositório remoto.
Por exemplo, você também pode escrever:
git remote add myorigin git@github.com:myname/oldrep.git
git remote add testtest git@github.com:myname/oldrep.git
Veja o manual:
http://www.kernel.org/pub/software/scm/git/docs/git-remote.html
Para remover um repositório remoto que você insere:
git remote rm origin
Novamente "Origin" é o nome do repositório remoto se você deseja remover o controle remoto "a montante":
git remote rm upstream
Outras dicas
As soluções anteriores parecem ignorar a origem e elas sugerem apenas usar outro nome. Quando você só quer usar git push origin
, continue lendo.
O problema aparece porque uma ordem errada da configuração do GIT é seguida. Você já deve ter adicionado uma 'origem git' à sua configuração .git.
Você pode alterar a origem remota em sua configuração Git com a seguinte linha:
git remote set-url origin git@github.com:username/projectname.git
Este comando define um novo URL para o repositório Git para o qual deseja pressionar. Importante é preencher o seu próprio nome de usuário e Nome do Projeto
Se você nomeou erroneamente o nome local como "Origin", pode removê -lo com o seguinte:
git remote rm origin
Method1->
Já que a origem já existe remova -a.
git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git
Method2->
Pode -se também alterar o URL do repositório remoto existente por -> Git Remote Set -URL
Se você está atualizando para usar https
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
Se você está atualizando para usar o SSH
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
Se tentar atualizar um controle remoto que não existe, você receberá um erro. Portanto, tenha cuidado com isso.
Method3->
Use o comando git renomeado remoto para renomear um controle remoto existente. Um nome remoto existente, por exemplo, origem.
git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'
Para verificar o novo nome do Remote->
git remote -v
Se novo para git, tente este tutorial->
Você pode simplesmente editar seu arquivo de configuração em um editor de texto.
No ~/.gitconfig
você precisa colocar algo Curti a seguir:
[user]
name = Uzumaki Naruto
email = myname@example.com
[github]
user = myname
token = ff44ff8da195fee471eed6543b53f1ff
No oldrep/.git/config
arquivo (no arquivo de configuração do seu repositório):
[remote "github"]
url = git@github.com:myname/oldrep.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
Se houver uma seção remota no arquivo de configuração do seu repositório e o URL corresponde, você precisará adicionar apenas a configuração push. Se você usar um URL público para buscar, poderá colocar o URL para pressionar como 'Pushurl' (aviso: isso requer o recém-lançado Git versão 1.6.4).
Você não precisa remover o seu "Origin" existente remoto, basta usar um nome além de "origem" para o seu add remoto, por exemplo
Git Remote Add Github git@github.com: MyName/Oldrep.git
Eu tive o mesmo problema, e aqui está como eu o consertei depois de fazer algumas pesquisas:
- Download Github para Windows ou use algo semelhante, que inclui uma concha
- Abra o
Git Shell
No menu de tarefas. Isso abrirá um shell de energia, incluindo comandos Git. - Na concha, mude para o seu antigo repositório, por exemplo
cd C:\path\to\old\repository
Mostrar status do antigo repositório
Modelo
git remote -v
Para obter o caminho remoto para buscar e empurrar o controle remoto. Se o seu repositório local estiver conectado a um controle remoto, ele mostrará algo assim:origem https: //user@bitbucket.org/team-or-user-name/myproject.git (busca) origem https: //user@bitbucket.org/team-or-user-name/myproject.git (Empurre)
Se não estiver conectado, pode mostrar
origin
só.
Agora remova o repositório remoto do repositório local usando
git remote rm origin
Verifique novamente com a etapa 4. Ele deve mostrar
origin
Somente, em vez do caminho de buscar e empurrar.Agora que seu antigo repositório remoto está desconectado, você pode adicionar o novo repositório remoto. Use o seguinte para conectar -se ao seu novo repositório.
Nota: Caso você esteja usando o Bitbucket, você criaria um projeto no Bitbucket primeiro. Após a criação, o Bitbucket exibirá todos os comandos Git necessários para pressionar seu repositório para remoto, que se parecem com o próximo snippet de código. No entanto, isso também funciona para outros repositórios.
cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time
É isso.
git remote rm origin
git remote add origin git@github.com:username/myapp.git
Eu tive o mesmo problema quando eu configurei pela primeira vez usando Bitbucket.
Meu problema era que eu precisava mudar a palavra origem para algo autodefinado. Eu usei o nome do aplicativo. Então:
git remote add AppName https://someone@bitbucket.org/somewhere/something.git
Você deve alterar o nome do repositório remoto para outra coisa.
git remote add origin git@github.com:myname/oldrep.git
para
git remote add neworigin git@github.com:myname/oldrep.git
Eu acho que isso deve funcionar.
Sim, eles são para o repositório init e adicionando um novo controle remoto. Apenas com uma mudança de nome.
Você também pode alterar o nome do repositório que deseja pressionar no arquivo repohome/.git/config
(onde a repohome é o caminho para o clone local do repositório).
git remote rm origin
git remote -v
Não exibirá nenhum nome de repositóriogit remote add origin git@github.com:username/myapp.git
git push origin master
Ele iniciará o processo e criará a nova ramificação. Você pode ver que seu trabalho é empurrado para o Github.
Isso também pode acontecer quando você esquece de fazer uma primeira confirmação.
Aberto ao Android Studio> VCs> git> controles remotos excluem todos os endereços que aparecerão nesta seção. O problema será resolvido.