Pregunta sobre github, terminal, github-for-mac – Github "fatal: el origen remoto ya existe"

362

Estoy tratando de seguir adelanteTutorial de rieles de Michael Hartl pero me he encontrado con un error.

Me inscribí en Github y emití una nueva clave SSH e hice un nuevo repositorio. Pero cuando ingreso la siguiente línea en el terminal, aparece el siguiente error:

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin [email protected]:ppreyer/first_app.git
fatal: remote origin already exists.

¿Me preguntaba si alguien más se había encontrado con este problema?

Si aún creaste el repositorio git, mira el.git/config archivo para ver si el origen aún no está declarado. Denys Séguret
Estaba enfrentando el mismo problema y usé el comando "git remote rm origin", luego usé el comando git remote add origin URL. Akhzar Nazir

Tu respuesta

16   la respuesta
27

Primero haz un:

git remote rm origin

entonces

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

¡y voilá! ¡Trabajó para mi!

¿Por qué eliminar el origen? ¿Hay alguna manera de que podamos agregar algo en lugar de origen? Abhils
11

positorios locales, hay un cmd:

git remote -v

Ahora, si desea eliminar el repositorio remoto (por ejemplo, el origen), entonces lo que puede hacer es:

git remote rm origin
@daOnlyBG: No estoy seguro de cómo se veía la respuesta cuando la vi, ya que eso ocurría antes de los comentarios encerrados en períodos de gracia (y, por lo tanto, puede haber sido editado en silencio). Pero ahora, está razonablemente completo, estoy de acuerdo. Nathan Tuggy
@NathanTuggy No, es una respuesta completa, y en mi humilde opinión, más directa que la más popular en este hilo. daOnlyBG
Esto parece más un comentario que una respuesta. Con un poco más de repetición,podrás publicar comentarios. Nathan Tuggy
@NathanTuggy Woah, no sabía que hubo ediciones silenciosas una vez. Eso explica. daOnlyBG
1

$ git remote add origin [email protected]:abc/backend/abc.git

En este comando, el origen no es parte del comando, es solo el nombre de su repositorio remoto. Puedes usar el nombre que quieras.

Primero puedes verificar que lo que contiene usando el siguiente comando

$ git remote -v

Te dará un resultado como este.origin [email protected]:abc/backend/abc.git (fetch) origin [email protected]:abc/backend/abc.git (push) origin1 [email protected]:abc/backend/abc.git (fetch) origin1 [email protected]:abc/backend/abc.git (push)

Si contiene la ruta de su repositorio remoto, puede empujar directamente a eso sin agregar origen nuevamente.

Si no está conteniendo su ruta de repositorio remoto

Luego puede agregar un nuevo origen con un nombre diferente y usarlo para empujar como$ git remote add origin101 [email protected]:abc/backend/abc.git

O puede renombrar el nombre de origen existente, agregar su origen

git remote rename origin destination

dispara debajo del comando otra vez

$ git remote -v

destination [email protected]:abc/backend/abc.git (fetch) destination [email protected]:abc/backend/abc.git (push)

Cambiará el nombre de tus repositorios existentes para que puedas usar ese nombre de origen

O simplemente puede eliminar su origen existente y agregar su origen

git remote rm destination

3

raíz

si no, entonces usa sudo

para eliminar el origen:

git remoto quitar origen

para añadir origen:

git remoto agregar origenhttp: // giturl

36

mún "fatal: el origen remoto ya existe", o al intentar eliminar el origen y obtiene "error: no se pudo eliminar la sección de configuración remote.origin", lo que debe hacer es establecer el origen manualmente.

POSH ~ Git de Windows para Windows PowerShell (y la aplicación GitHub para Windows) tiene un problema con esto.

Me encontré con esto, como lo hago a menudo, otra vez al configurar mi pulpo. Así que, así es como lo hice funcionar.

Primero, revisa tus 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

Primero notarás que mi origen no tiene url. Cualquier intento de eliminarlo, renombrarlo, etc. todo falla.

Entonces, cambia la url manualmente:

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

Entonces puedes confirmar que funcionó ejecutandogit remote -v otra vez:

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)

Esto ha solucionado docenas de repositorios de git con los que he tenido problemas, GitHub, BitBucket GitLab, etc.

¿Cómo encuentro la url cuando uso gitlab? Madmenyo
Esto funcionó para mí. Gracias @ eduncan911. Las instrucciones de github indican que se debe hacer un "git init" para crear un nuevo repositorio en la línea de comandos. Esto crea un origen remoto sin una URL usando esa interfaz PS. mikekidder
@MennoGouw Creo que esa es una pregunta fuera de tema; pero, por lo general, está en el tablero de mandos / inicio del Repo. También está en la configuración del proyecto también. eduncan911
Sí, eso ayudó. Darius Miliauskas
Ah yah, eso es otro problema y por qué tienes que hacer esto. +1 Tal vez deberíamos informar esto a POSH Git en github. eduncan911
265

En breve,

git remote rm origin
git remote add origin [email protected]:username/myapp.git

Trabajó !

¡Aclamaciones!

@KickButtowski rm se refiere al comando de eliminación utilizado en * nix. Así que este comando le dice a git que "elimine" los detalles del servidor remoto llamado "origen". rob
No es necesario hacer esto en 2 pasos cuando puede hacerlo en 1. Vea mi respuesta. Agis
¿Alguien puede explicar esto? git remoto rm origen Kick Buttowski
7

remote es simplemente la URL de su repositorio remoto.

losorigin es unalias apuntando a esa URL. Entonces, en lugar de escribir la URL completa cada vez que queremos enviar algo a nuestro repositorio, solo usamos este alias y ejecutamos:

git push -u origin master

Diciendo a git apush nuestro código de nuestrolocaldominar rama alremotoorigen repositorio.

Cada vez que nosotrosclonar un repositorio, git crea este alias para nosotros por defecto También cada vez que creamos unnuevo repositorioSimplemente lo creamos nosotros mismos.

Cualquiera que sea el caso, siempre podemos cambiar este nombre a cualquier cosa que queramos, ejecutando esto:

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

Dado que está almacenado en el lado del cliente de lagit el cambio de la aplicación (en nuestra máquina) no afectará nada en nuestro proceso de desarrollo, ni en nuestro repositorio remoto. Recuerda, es sólo unnombre apuntando a undirección.

Lo único que cambia aquí al cambiar el nombre del alias, es que tenemos que declarar estonuevo nombre Cada vez que empujamos algo a nuestro repositorio.

git push -u my-remote-alias master

Obviamente, un solo nombre no puede apuntar a dos direcciones diferentes. Es por eso que recibe este mensaje de error. Ya hay un alias llamadoorigin en su máquina local. Para ver cuántos alias tiene y cuáles son, puede iniciar este comando:

git remote -v

Esto le mostrará todos los alias que tiene más las URL correspondientes.

Puedes eliminarlos también si quieres ejecutar esto:

git remote rm my-remote-alias
Así que en breve:Averigua qué tienes ya,eliminarlos o renombrarlos,añade tus nuevos alias.

Feliz codificacion

1

cd existing_repog, es remoto renombrar origen antiguo origen
32

a través de

git remote -v

Eso devolverá una lista en este formato:

origin  [email protected]:github/git-reference.git (fetch)
origin  [email protected]:github/git-reference.git (push)

Eso podría ayudarlo a descubrir a qué apuntaba el "origen" original.

Si desea mantener la conexión remota que ve con la -v, pero desea seguir el tutorial de Rails sin tener que recordar 'github' (o algún otro nombre) para el repositorio de su tutorial, puede cambiar el nombre de suotro repositorio con el comando:

git remote rename [current name] [new name]

como en:

git remote rename origin oldrepo

Entonces deberías poder reanudar tu tutorial.

6

torio git. Si está satisfecho con ese control remoto, puede presionar su código. Si no es así o si no puedes empujar solo:

git remote remove origin
git remote add origin [email protected]:ppreyer/first_app.git

Voilà!

0

podemos forzar que el valor de retorno del código de salida del comando sea 0

Puedes remover el viejo control remoto y agregarlo nuevamente.

git remote remove $1 || true
git remote add $1 $2
5

nicializado. Si ese es el caso, corre primero:

git init
0

puede iniciar este comando git remote -v

Luego vea en qué repositorio está y luego intente con git set-url remoto --add [Entonces, su enlace de repositorio] git push -u master de origen

717

DR, solo debes actualizar el control remoto existente:

$ git remote set-url origin [email protected]:ppreyer/first_app.git

Versión larga:

Como indica el mensaje de error, ya existe un control remoto configurado con el mismo nombre. Por lo tanto, puede agregar el nuevo control remoto con un nombre diferente o actualizar el existente si no lo necesita:

Para agregar un nuevo control remoto, llamado por ejemplogithub en lugar deorigin (que obviamente ya existe en su sistema), haga lo siguiente:

$ git remote add github [email protected]:ppreyer/first_app.git

Recuerda sin embargo, en todas partes en el tutorial que ves"origen" deberías reemplazarlo congithub. Por ejemplo$ git push origin master ahora debería ser$ git push github master.

Sin embargo, si quieres ver lo queorigin Lo que ya existe es, puedes hacer un$ git remote -v. Si crees que esto está ahí por algún error, puedes actualizarlo así:

$ git remote set-url origin [email protected]:ppreyer/first_app.git
@zespri: usargit remote set-url --add origin [email protected]/username/repo.git eduncan911
¿Por qué existiría el origen en su nuevo repositorio? Debería solucionar el problema (asegurando, por ejemplo, que el origen sea el alias correcto para github) en lugar de crear un nuevo alias que debería recordar. Denys Séguret
Que hacegit remote -v salidas? Además, puedes probargit push origin master? Agis
git remote rm origin No funcionó del todo. Produjoerror: no se pudo eliminar la sección de configuración 'remote.origin' Andrew Savinykh
Ok, eso funcionó, pero luego, cuando paso al siguiente paso e ingresé git push -u origin master en el terminal, aparece el siguiente error: ERROR: no se encontró el repositorio. fatal: el extremo remoto colgó inesperadamente ¿Qué significa eso? ppreyer
21

de un repositorio antiguo que usó como plantilla (No haga esto si este no es su caso). Borre completamente los archivos git del antiguo repositorio para que pueda iniciar uno nuevo:

rm -rf .git

Y luego reinicie un nuevo repositorio git como de costumbre:

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 [email protected]:ppreyer/first_app.git
git push -u origin master
4

como si lo subieras a github y luego lo subieras a bitbucket, entonces muestra este tipo de error.

Cómo eliminar el error: elimine el archivo git-hub de su proyecto y luego repita los siguientes pasos ...

git init       
git remote add origin [email protected]:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git push -u origin master  

Preguntas relacionadas