2012-07-08 63 views
109

Con Git/Github para Windows, si tengo un repositorio con este directorio: C:\dir1\dir2, ¿qué debo hacer para mover los archivos de repositorio a C:\dir1? Obviamente, puedo copiar y pegar físicamente los archivos, pero ¿qué debo hacer en el lado de Git?Cambiar la ubicación del directorio del repositorio de Git.

Tengo este informe en GitHub y utilizo Git Bash y GitHub para Windows.

+0

[Consulte esta respuesta] (http://stackoverflow.com/questions/10774008/how-to-move-local-git-repo-from-one-hdd-to-another-hdd/10774024#10774024) , es lo mismo para mover a otra carpeta u otra computadora. – rekenerd

Respuesta

139

Simplemente copie todo el contenido del directorio de trabajo (incluido el directorio .git oculto). Esto moverá todo el directorio de trabajo al nuevo directorio y no afectará el repositorio remoto en GitHub.

Si está usando GitHub para Windows, puede mover el repositorio usando el método anterior. Sin embargo, cuando hace clic en el repositorio en la aplicación, no podrá encontrarlo. Para resolver esto, simplemente haga clic en el círculo azul con el símbolo!, Seleccione Buscar y luego busque el nuevo directorio.

+2

¿Pero qué tal cómo GitHub para Windows rastrea el repositorio local? Tiene que haber alguna configuración en ese extremo. –

+3

Cuando hice esto en Windows me obligó a crear un nuevo repositorio. – 472084

+0

@Jleagle, Es posible que lo hayan cambiado desde que se publicó esta respuesta. Voy a echar un vistazo y actualizar mi respuesta si es necesario. – ctor

29

no estoy seguro de la cuestión, por lo que aquí hay dos respuestas:

Si desea mover su repositorio:

Simplemente copia del repositorio completo (con su directorio de .git).

No hay una ruta absoluta en la estructura .git y nada impide que se mueva, por lo que no tiene nada que hacer después de la mudanza. Todos los enlaces a github (ver en .git/config) funcionarán como antes.

Si desea mover archivos dentro del repositorio:

Basta con mover los archivos. A continuación, agregue los cambios enumerados en git status. El siguiente commit hará lo necesario. Te alegrará saber que ningún archivo se duplicará: mover un archivo en git es casi gratuito.

+1

Pero, ¿qué tal cómo GitHub para Windows rastrea el repositorio local? Tiene que haber alguna configuración en ese extremo. –

+0

@ user596075 está en el directorio '.git'. – OrangeDog

16

Si está utilizando GitHub for Windows, a continuación, sólo seguir los siguientes pasos:

  1. Cerrar GitHub for Windows y todas las demás aplicaciones con archivos abiertos a la ruta de directorio actual.
  2. Mueva todo el directorio como se menciona anteriormente a la nueva ubicación del directorio.
  3. Abra GitHub for Windows y haga clic en el icono azul (!) "Repositorio no encontrado". A continuación, se abrirá un cuadro de diálogo y verá un botón "Buscar" donde puede reubicar la nueva ruta del repositorio.
4

Si bien la pregunta involucra a Git para Windows, este parece ser el resultado principal incluso cuando se busca Visual Studio Tools para Git (extensión en VS 2012, soporte nativo en VS 2013).

Al usar las soluciones anteriores como una guía, determiné que Visual Studio Git Tools hace que mover repos (o incluso toda la estructura de directorios de todos los repos) sea muy fácil.

1) Cierre Visual Studio. 2) Mueva la (s) carpeta (s) Repo a la nueva ubicación. 3) Abra Visual Studio. Abre Team Explorer. Cambia a la vista "Conectar" (icono de enchufe en la parte superior). 3a) Si Repos sigue mostrando la ruta anterior, haga clic en Actualizar para forzar una actualización. 4) Las reposiciones que se movieron localmente ya no se mostrarán en "Local Git Repositories". 5) Haga clic en Agregue (no nuevo o clon) y seleccione la carpeta repo para agregar.

En el paso 5 realmente solo proporciona una ruta de búsqueda y la búsqueda incluye automáticamente todas las subcarpetas. Si tiene varios repos organizados en una única raíz (repositorios independientes que solo tienen la misma carpeta principal), al seleccionar el padre se incluirán todos los repos que se encuentran debajo.

Ejemplo: E: \ Repos \ REPOA E: \ Repos \ RepoB E: \ Repos \ RepoC

En Visual Studio Team Explorer [Añadir]> "E: \ Repos \"> [Agregar ] devolverá los tres a los repositorios locales.

0

Esto no funcionó para mí. Moví un repositorio de (por ejemplo) c: \ project1 \ a c: \ repo \ project1 \ y Git para Windows no muestra ningún cambio.

git estado muestra un error porque uno de los submódulos "no es un repositorio git" y muestra la ruta anterior. p.ej. (Nombres cambiados para proteger la propiedad intelectual)

fatal: No es un repositorio git: C: /project1/.git/modules/subproject/subproject2 fatal: 'git status --porcelain' fracasado en subproyecto submódulo

I tuvo que editar manualmente los archivos .git en los submódulos para apuntar a la ruta relativa correcta al repositorio del submódulo (en el directorio .git/modules del repositorio principal)

2

Uso el plugin git Visual Studio, y tengo algunos sitios web ejecutándose en IIS quería moverme. Una manera simple que funcionó para mí:

  1. Cerrar Visual Studio.

  2. Mueva el código (incluyendo la carpeta git, etc)

  3. Haga clic en el archivo de solución desde la nueva ubicación

Esto actualiza la asignación a la nueva ubicación, utilizando el git local existente archivos que fueron movidos Una vez que estuve de regreso en Visual Studio, mi ventana Team Explorer mostró los repositorios en la nueva ubicación.

Cuestiones relacionadas