El origen remoto ya existe en 'git push' a un nuevo repositorio

548

Tengo mi proyecto en GitHub en algún lugar, [email protected]:myname/oldrep.git.

Ahora quiero enviar todo mi código a un nuevo repositorio en otra ubicación [email protected]:newname/newrep.git,.

Usé el comando:

git remote add origin [email protected]:myname/oldrep.git

pero estoy recibiendo esto:

fatal: el origen remoto ya existe.

uzumaki naruto
fuente
66
Dé la salida del comando $> git remote -v show
sykora
posible duplicado de Github "fatal: origen remoto ya existe"
Ese tipo brasileño
Una buena manera es usar "importar desde otro repositorio" en la parte inferior de su nuevo repositorio creado, si conoce la URL del antiguo.
JW.ZG
Aquí se hizo una pregunta similar: stackoverflow.com/questions/2432764/…
jciloa
1
Si desea conservar el control remoto original, simplemente puede usar un nombre diferente git remote add origin2 ...., pero si solo necesita presionar una vez sin modificar la configuración del repositorio, simplemente puede hacerlo git push [email protected]:user/another-project.git master:master.
ccpizza

Respuestas:

870

Recibe este error porque "origen" no está disponible. "origen" es una convención que no forma parte del comando. "origen" es el nombre local del repositorio remoto.

Por ejemplo, también podrías escribir:

git remote add myorigin [email protected]:myname/oldrep.git  
git remote add testtest [email protected]:myname/oldrep.git

Ver el manual:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

Para eliminar un repositorio remoto, ingrese:

git remote rm origin

Nuevamente, "origen" es el nombre del repositorio remoto si desea eliminar el control remoto "ascendente":

git remote rm upstream
MrHus
fuente
8
"git remote rm origin" no funcionó, si no funciona, intente verificar con "git remote -v", esto le mostrará si su origen tiene un conjunto de URL, si no es probable que usted hice el init localmente y estoy tratando de empujarlo a distancia, y cometí un error como yo). Luego siga la respuesta de RobinH: git remote set-url origin [email protected]: username / projectname.git
Clarence Liu
1
verifique esta respuesta para forzar la url.
srodriguex 05 de
"git remote rm origin" funcionó de maravilla, ¡maravilloso! :) puhh, soy nuevo en la terminología de git, así que fue una búsqueda más grande, pero tu respuesta me ayudó mucho. :) ¡gracias!
Martin Pfeffer
3
git push -u origin master --force
Ronnie Royston el
¡La fuerza es la solución!
creador el
260

Las soluciones anteriores parecen ignorar el origen, y solo sugieren usar otro nombre. Cuando solo quieras usar git push origin, sigue leyendo.

El problema aparece porque se sigue un orden incorrecto de configuración de Git. Es posible que ya haya agregado un 'origen git' a su configuración .git.

Puede cambiar el origen remoto en su configuración de Git con la siguiente línea:

git remote set-url origin [email protected]:username/projectname.git

Este comando establece una nueva URL para el repositorio de Git al que desea enviar. Importante es completar su propio nombre de usuario y nombre de proyecto

Hoetmaaiers
fuente
77
Gracias, exactamente lo que tenía que hacer :)
winkbrace
Esto es para mí. Pero lo que realmente me ayudó con este problema fue porque utilicé portableGit que se instaló con Gihub para Windows. Encontré la solución aquí
PerseP
¡Excelente! ¡Necesitaba cambiar mi repositorio gitador a repositorio git lab y esta solución fue perfecta! ¡Gracias!
Marcelo dos Santos
Misma situación que OP, y necesitaba hacer esto y luego la solución de @ MrHus.
Sean the Bean
44
Esta es la mejor respuesta en mi humilde opinión
kratos
83

Si ha nombrado erróneamente el nombre local como "origen", puede eliminarlo con lo siguiente:

git remote rm origin
Özgür
fuente
¿Qué significa "nombrar erróneamente el nombre local como 'origen'" en realidad? ¿Puede explicarlo en detalle? @Ozgur
Yuan Wen
1
Esto podría significar que agregó el origen remoto que no apunta a un repositorio git. Por lo tanto, si planea enviar todos sus cambios al maestro, el git se quejará diciendo que el origen remoto no es un repositorio de git.
Gautham Honnavara
22

MÉTODO1->

Como el origen ya existe, elimínalo.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

MÉTODO2->

También se puede cambiar la URL del repositorio remoto existente mediante -> git remote set-url

Si está actualizando para usar HTTPS

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Si está actualizando para usar SSH

git remote set-url origin [email protected]:USERNAME/REPOSITORY.git

Si intenta actualizar un control remoto que no existe, recibirá un error. Así que ten cuidado con eso.

MÉTODO3->

Use el comando git remote rename para cambiar el nombre de un control remoto existente. Un nombre remoto existente, por ejemplo, origen.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Para verificar el nuevo nombre del control remoto->

git remote -v

Si es nuevo en Git, intente este tutorial->

PRUEBA TUTORIAL GIT

shaurya uppal
fuente
1
Muchas gracias. Fui descargado, alguien más git y luego quería clonarlo en mi GitHub también. Finalmente, tengo éxito usando tu primer método.
Naimur Hasan
17

Simplemente puede editar su archivo de configuración en un editor de texto.

En el ~/.gitconfignecesita poner algo como lo siguiente:

[user]
        name  = Uzumaki Naruto
        email = [email protected]

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

En el oldrep/.git/configarchivo (en el archivo de configuración de su repositorio):

[remote "github"]
        url = [email protected]:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Si hay una sección remota en el archivo de configuración de su repositorio y la URL coincide, solo necesita agregar la configuración de inserción. Si usa una URL pública para buscar, puede poner la URL para presionar como 'pushurl' (advertencia: esto requiere la versión 1.6.4 de Git recién lanzada).

Jakub Narębski
fuente
10
  1. git remote rm origin

  2. git remote -v No mostrará ningún nombre de repositorio

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

  4. git push origin master Comenzará el proceso y creará la nueva sucursal. Puedes ver que tu trabajo es empujado a github.

dev
fuente
8

No tiene que eliminar su control remoto "origen" existente, solo use un nombre que no sea "origen" para su complemento remoto, p. Ej.

git remote add github [email protected]: myname / oldrep.git

mpelzsherman
fuente
6

Tengo el mismo problema, y ​​así es como lo solucioné después de investigar un poco:

  1. Descarga GitHub para Windows o usa algo similar, que incluye un shell
  2. Abra el Git Shellmenú desde la tarea. Esto abrirá un shell de energía que incluye comandos Git.
  3. En el shell, cambie a su antiguo repositorio, por ejemplo cd C:\path\to\old\repository
  4. Mostrar estado del antiguo repositorio

  5. Ahora elimine el repositorio remoto del repositorio local utilizando

    git remote rm origin
    
  6. Verifique nuevamente con el paso 4. Debe mostrar originsolo, en lugar de la ruta de búsqueda y empuje.

  7. Ahora que su antiguo repositorio remoto está desconectado, puede agregar el nuevo repositorio remoto. Use lo siguiente para conectarse a su nuevo repositorio.

Nota: En caso de que esté utilizando Bitbucket, primero creará un proyecto en Bitbucket. Después de la creación, Bitbucket mostrará todos los comandos Git necesarios para llevar su repositorio a control remoto, que se parece al siguiente fragmento de código. Sin embargo, esto también funciona para otros repositorios.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://[email protected]/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Eso es.

Miguel
fuente
5

Tuve el mismo problema cuando configuré por primera vez usando Bitbucket .

Mi problema era que necesitaba cambiar el origen de la palabra por algo autodefinido. Usé el nombre de la aplicación. Entonces:

git remote add AppName https://[email protected]/somewhere/something.git
Michael Murphy
fuente
4

Debe cambiar el nombre del repositorio remoto a otra cosa.

git remote add origin [email protected]:myname/oldrep.git

a

git remote add neworigin [email protected]:myname/oldrep.git

Creo que esto debería funcionar.

Sí, estos son para el repositorio init y para agregar un nuevo control remoto. Solo con un cambio de nombre.

nirvanastack
fuente
3

También puede cambiar el nombre del repositorio que desea insertar en el archivo REPOHOME / .git / config

(donde REPOHOME es la ruta a su clon local del repositorio).

nolim1t
fuente
1

Esto también puede suceder cuando se olvida de hacer una primera confirmación.

Clay Morton
fuente
0

Debe verificar originy agregar si no existe.

if ! git config remote.origin.url >/dev/null; then
    git remote add origin [email protected]:john/doe.git
fi

Cree el archivo check.sh, pegue el script, actualice la URL de su repositorio git y ejecútelo ./check.sh.

Madan Sapkota
fuente
0

Paso 1

git remote rm origin

Paso 2

git remote add origin enter_your_repository_url

Ejemplo:

git remote add origin https://github.com/my_username/repository_name.git
Sarath Chandran
fuente
-1

Primero, escriba esta línea de código para el control remoto eliminado:

$ git remote rm origin

y luego escribe esta línea:

$ git remote add origin https://github.com/khadim321/React-Form.git

Funciona correctamente

Khadim Rana
fuente
intenta dar más explicaciones para dar más valor a tu respuesta
Zeina
No estoy seguro de si ayuda a alguien a agregar uno de sus repositorios de github como origen remoto. Esta pregunta ya ha sido respondida un par de veces. Verifique la otra pregunta antes de crear una nueva con una calidad tan baja.
thmspl
-1

si desea crear un nuevo repositorio con el mismo proyecto dentro de github y el control remoto anterior no le permite hacerlo, en ese caso, primero elimine ese repositorio en github, entonces simplemente necesita eliminar la carpeta .git C: \ Users \ Shiva \ AndroidStudioProjects \ yourprojectname \ .git elimine esa carpeta , (asegúrese de hacer clic en el archivo oculto porque esta carpeta está oculta)

También haga clic en el signo menos (botón Eliminar) del estudio de Android Configuración-> Control de versiones, haga clic aquí para eliminar el control de versión de Android Y luego podrá crear un nuevo Repositorio.

Shivam Sharma
fuente