2009-08-03 14 views
369

Tengo mi proyecto en GitHub en algún lugar, [email protected]:myname/oldrep.git.El origen remoto ya existe en 'git push' a un nuevo repositorio

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

que utiliza el comando:

git add remota [email protected] origen: myname/oldrep.git

pero estoy recibiendo este:

fatal: origen remoto ya existe.

+4

Dar la salida del comando $> git remoto -v show – sykora

+0

posible duplicado de [Github "fatal: el origen remoto ya existe"] (http://stackoverflow.com/questions/10904339/github-fatal-remo te-origin-already-exists) –

+0

Una buena forma es utilizar ** "importar desde otro repositorio" ** en la parte inferior de su nuevo repositorio creado, si conoce la URL del anterior. –

Respuesta

573

Obtiene 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, usted podría también escribir:

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

Consulte el manual:

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

Para eliminar un repositorio remoto introduce:

git remote rm origin 

Una vez más "origen" es el nombre del repositorio remoto si desea eliminar el "aguas arriba" a distancia:

git remote rm upstream 
+6

"git remote rm origin" no funcionó conmigo, si no funciona para usted intente verificar con "git remote -v" esto le mostrará si su origen tiene un url set, si no es probable hiciste el init localmente e intentas empujarlo a distancia, y cometiste un error como yo). A continuación, siga la respuesta de RobinH: GIT ajuste remoto url origen [email protected]: nombre de usuario/projectname.git –

+1

de verificación [esta respuesta] (http://stackoverflow.com/questions/13572191/cannot-remove-remote-origin) en Para forzar la url. – srodriguex

+0

"git remote rm origin" funcionaba como un encanto, ¡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! –

3

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

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

12

Puede simplemente editar su archivo de configuración en un editor de texto.

En el ~/.gitconfig que necesita para poner en algo como lo siguiente:

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

[github] 
     user = myname 
     token = ff44ff8da195fee471eed6543b53f1ff 

En el archivo oldrep/.git/config (en el archivo de configuración del 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 configuración de inserción. Si usa una URL pública para buscar, puede ingresar la URL para presionar como 'pushurl' (advertencia: esto requiere la versión 1.6.4 de Git recién lanzada).

63

Si ha llamado erróneamente el nombre local como "origen", es posible quitarlo con lo siguiente:

git remote rm origin 
+0

¿Qué significa "nombrado por error el nombre local como 'origen'" significa realmente? ¿Puede explicar en detalle? @Ozgur –

+0

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 git. –

8

Usted no tiene que quitar el "origen" existente remoto, sólo tiene que utilizar un nombre que no sea "origen" para su complemento remoto, p. ej.

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

211

Las soluciones anteriores parecen ignorar el origen, y sólo sugieren que usar otro nombre. Cuando solo desee usar git push origin, siga leyendo.

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

Puede cambiar el origen remoto en la 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 del repositorio Git usted quiere empujar a. importante es llenar en su propio nombre de usuario y projectname

+7

Gracias, exactamente lo que tenía que hacer :) – winkbrace

+0

Esto lo fiexd para mí. Pero lo que realmente me ayudó con este problema fue porque utilizo portableGit que se instaló con Gihub para Windows. Encontré la solución [aquí] (http://stackoverflow.com/a/17351255/1128695) – PerseP

+1

Justo lo que necesitaba – bjornhol

6

Tengo el mismo problema, y ​​aquí es cómo me fijo después de hacer algunas investigaciones:

  1. Descargar GitHub for Windows o usar algo similar, que incluye un shell
  2. Abra el Git Shell en el menú de tareas. Esto abrirá un shell de potencia que incluye comandos de Git.
  3. En el shell, cambie a su antiguo repositorio, p. cd C:\path\to\old\repository
  4. Muestra el estado del antiguo depósito de

  5. Ahora retire el repositorio remoto desde el repositorio local utilizando

    git remote rm origin 
    
  6. Comprobar de nuevo con el paso 4. Debe mostrar origin única, en lugar de ir a buscar la ruta de acceso 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 utilice Bitbucket, debe crear un proyecto sobre Bitbucket primero. Después de la creación, Bitbucket mostrará todos los comandos necesarios de Git para llevar tu repositorio a 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 todo.

5

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

Mi problema era que necesitaba cambiar el origen de la palabra para algo definido por mí mismo. Usé el nombre de la aplicación. Entonces:

git remote add AppName https://[email protected]/somewhere/something.git 
2

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 agregar un nuevo control remoto. Solo con un cambio de nombre.

0

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

7

METHOD1->

Dado que ya existen origen eliminarlo.

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

METHOD2->

Uno también puede cambiar existente URL del repositorio remoto -> git ajuste remoto url

Si está actualizando para que utilice 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 mensaje de error. Así que ten cuidado con eso.

METHOD3->

Utilice el git renombrar remota de comandos para cambiar el nombre de un mando a distancia existente. Un nombre remoto existente, por ejemplo, origen.

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

Para verificar nuevo nombre- de control remoto>

git remote -v 

Si Git nuevo a probar este tutorial->

TRY GIT TUTORIAL

Cuestiones relacionadas