2010-07-22 23 views

Respuesta

11

Simplemente copie el directorio principal en la nueva máquina y haga que las copias desprotegidas actualicen su control remoto con git remote set-url <remotename> <url>. Una vez que haya verificado que los usuarios pueden empujar/jalar correctamente con el nuevo control remoto, puede eliminar la copia de la máquina anterior.

+0

para que el comando reemplace el control remoto existente? o elimino el control remoto antiguo primero? Supongo que toma en contexto dónde estás y actualiza el control remoto para el repositorio en contexto. – Blankman

+1

Por supuesto, 's/move/copy /' solo en caso de que algo salga mal. (o alguien intenta tirar mientras está medio movido) – Cascabel

+1

¿Qué es s/mover/copiar? ¡lo siento! Me sale la idea, no cortar y pegar, lo que elimina el original ... – Blankman

2

¿Esto no funciona?

  • clon localmente
  • crear una nueva operación al descubierto vacía en el otro servidor
  • a continuación, empuje el clon.
+0

así que simplemente configure un nuevo control remoto? – Blankman

+0

que es probablemente la manera más fácil (conceptualmente) de hacerlo. –

+0

sí, y luego puede eliminar el anterior. Solo tienes que actualizar las referencias (usando git remote). Ese es el poder de VCS descentralizado. – Scharron

1

Los repositorios Git son independientes de su sistema de archivos host, y el propio Git no depende de un proceso de servidor persistente, por lo que en el servidor, todo lo que necesita hacer es copiar el directorio foo.git en algún lugar de su nuevo servidor.

Y todos los controles remotos son iguales en Git. Entonces puede agregar la nueva URL como otro control remoto si lo desea. O bien, simplemente puede abrir el archivo .git/config y editar la URL de su control remoto existente para cambiarlo. (Si no funciona, puede volver a cambiarlo de la misma manera.)

Git no es muy mágico.

Cuestiones relacionadas