¿Cómo cambiar el nombre de la carpeta raíz de git?

85

Acabo de comenzar a usar git en Vista, con mi repositorio debajo /path/to/project/git repo.

Ahora descubrí que el espacio en el nombre de la carpeta es una pequeña irritación cuando se trabaja en git bash.

¿Puedo simplemente cambiar el nombre de la carpeta a /path/to/project/gitrepo? ¿Está todo dentro de la configuración de git relativo, o hay algo que se refiera explícitamente a la carpeta principal?

Intenté simplemente tomar una copia de Windows de la carpeta principal y ejecutar git bash en eso, y 'git log' muestra los cambios que había realizado anteriormente. Así que supongo que cambiar el nombre de la carpeta principal está bien, pero me gustaría estar seguro antes de continuar.

Mick O'Hea
fuente

Respuestas:

53

Para enmendar ligeramente la respuesta de Greg , sí, todo con un repositorio git es relativo al directorio principal, pero:.git

(y esto probablemente no te afectará directamente, solo menciono esas razones aquí para completarlo):

  • la ruta del repositorio en sí podría ser referenciada por otros servicios que se ejecutan en su computadora (Apache, ssh, otro repositorio que declara su repositorio como remoto, utilizando la ruta completa del archivo, una capa gitolite que declara sus repositorios en una ruta determinada, ... )
  • algunas operaciones usan la ruta completa del repositorio (como el GIT_INDEX_FILEuso dentro de un filter-branchcomando, por ejemplo, vea este hilo ), así que, obviamente, no cambie el nombre del directorio raíz mientras realiza una operación compleja en su repositorio.

Además, una "copia de Windows" (en lugar de una git clone) copiará todo, incluidos los ganchos, que pueden incluir una ruta absoluta en su secuencia de comandos si los ha editado y realizado ese tipo de modificación.

VonC
fuente
2
así que si alguien tiene pasos prácticos y explícitos de los que asegurarse, sería muy útil.
ahnbizcad
@gwho, ¿qué paso, además de cambiar el nombre de la carpeta de repositorio?
VonC
88

Sí, es seguro cambiar el nombre de la carpeta que contiene un repositorio de Git. Todas las rutas dentro del repositorio de Git son relativas.

Greg Hewgill
fuente
4

Primero revisa los comentarios ...

En mi opinión, lo mejor es usar el flujo de trabajo git , especialmente cuando usa un servidor git (repositorio maestro remoto), lo que significa:

  • sincronice el directorio antiguo con su servidor git ( y git pull, git pushpor fin, git statuspara ver si todo está bien)
  • git clone <former directory> <new directory>

(Como también soy nuevo en GIT, esta podría no ser la respuesta completa y correcta. Tuve la misma pregunta que Mick y, con el propósito de aprender, traté de hacerlo de la manera git :) ¡Gracias por la pista, vonC! Si es necesario, corrígeme :)

PythoNic
fuente
1
Si es así git clone <former directory> <new directory>, no es necesario que cree el <new directory>primero. El git clonelo creará para usted.
VonC
3
No creo que esto haga lo que quieres. Esto establece el origen de <new directory>a <old directory>. Entonces se mostraría un git remote -vin . <new directory>origin C:/old/directory
kvu787
1
Estoy de acuerdo con @ kvu787, esto no suena a lo que se pide, y probablemente causará muchos problemas.
alkanen
@ kvu787 @alkanen, ¿Ayuda? Lo que sugirió un usuario: git remote rm origin- para eliminar su directorio antiguo como el origen de su nuevo representante y - cd .. and rm -rf <former directory>para eliminar el directorio antiguo
PythoNic
@PythoNic, si el antiguo repositorio tenía un remoto llamado "origen", entonces no, esto no estaría bien porque su nuevo repositorio ya no tendría ese remoto. De lo contrario, estaría bien, pero cambiar el nombre de la carpeta sería más sencillo.
kvu787
0

sí, puedes cambiarlo. su repositorio sigue directo a su git ... simplemente no elimine / edite el nombre de .git fo

Akshay Kumar
fuente