2011-08-26 42 views
63

que acaba de comenzar el uso de git en Vista, con mi repositorio bajo /path/to/project/git repo.¿Cómo cambiar el nombre de la carpeta raíz de git?

ahora me he dado cuenta que el espacio en el nombre de la carpeta es una irritación menor cuando se trabaja en bash git.

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

He intentado simplemente tomar unas ventanas de copia de la carpeta principal, y bash plazo git en eso, y 'git log' muestra los cambios que había hecho previamente. Así que asumo que cambiar el nombre de la carpeta principal está bien, pero me gustaría estar seguro antes de ir más allá.

Respuesta

42

Modificar ligeramente Greg 's answer, sí, todo con un repositorio git es relativa al directorio .git padres, pero:

(y esto no es probable que afectan directamente, sólo mencionar esas razones aquí por el bien integridad):.

  • el camino de la propia cesión temporal podría ser referenciado por otros servicios que se ejecutan en el ordenador (Apache, ssh, otro repo declarar su cesión temporal como un control remoto, utilizando la ruta completa del archivo, una gitolite capa que declara sus repos en una ruta determinada, ...)
  • algunas operaciones usan la ruta completa del repositorio (como el GIT_INDEX_FILE utilizando un comando filter-branch, por ejemplo, consulte this thread), 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 "ventanas" (en lugar de un git clone), copiará todo, incluyendo ganchos, que pueden incluir ruta absoluta en su secuencia de comandos si se han editado y realizado ese tipo de modificación.

+2

así que si alguien tiene pasos prácticos y explícitos para asegurarse de hacerlo, eso sería muy procesable. – ahnbizcad

+0

@gwho ¿qué paso, además de cambiar el nombre de la carpeta repo? – VonC

67

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

+0

brillante, gracias. –

5

En mi opinión, lo mejor es utilizar el flujo de trabajo git, especialmente cuando se utiliza un servidor Git (repositorio maestro a distancia), lo que significa:

  • obtener el directorio de edad en sincronía con su git servidor (git pull, git push y al fin git status para ver si todo está bien)
  • git clone <former directory> <new directory>

(Como yo también soy nuevo en GIT, este podría no ser la respuesta completa y correcta. He tenido la misma pregunta que Mick y para el propósito de aprendizaje intenté hacerlo de la manera original :) Gracias por la pista, vonC! Por favor, corríjanme, si es necesario :)

+1

Si 'git clone ', no necesita crear primero el ''. El 'git clone' lo creará por ti. – VonC

+0

@VonC: thx, he cambiado esto – PythoNic

+1

No creo que esto haga lo que quieras. Esto establece el origen de '' en ''. Así que un 'git remote -v' en' 'mostraría' origin C:/old/directory'. – kvu787

Cuestiones relacionadas