Ejecutar el comando git clone [email protected]:whatever
crea un directorio en mi carpeta actual llamado lo que sea, y deja caer el contenido del repositorio Git en esa carpeta:
/httpdocs/whatever/public
Mi problema es que necesito que el contenido del repositorio Git se clone en mi directorio actual para que aparezca en la ubicación adecuada para el servidor web:
/httpdocs/public
Sé cómo mover los archivos después de haber clonado el repositorio, pero esto parece romper Git, y me gustaría ser capaz de actualizar con sólo llamar a "git pull". ¿Cómo puedo hacer esto?
Opción A:
git clone [email protected]:whatever folder-name
Ergo, para el uso de "aquí":
git clone [email protected]:whatever .
Opción B:
Mueve también la carpeta .git
. Ten en cuenta que la carpeta .git
está oculta en la mayoría de los exploradores gráficos de archivos, así que asegúrate de mostrar los archivos ocultos.
mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/
La primera línea agarra todos los archivos normales, la segunda línea agarra los archivos de puntos. También es posible hacerlo en una sola línea habilitando dotglob (es decir, shopt -s dotglob
), pero eso es probablemente una mala solución si usted está haciendo la pregunta que esta respuesta responde.
Mejor aún:
Mantenga su copia de trabajo en otro lugar, y cree un enlace simbólico. Así:
ln -s /where/it/is/right/now /the/path/I/want/to/use
En tu caso esto sería algo así como
ln -sfn /opt/projectA/prod/public /httpdocs/public
Que fácilmente se podría cambiar a prueba si lo desea, es decir:
ln -sfn /opt/projectA/test/public /httpdocs/public
sin mover los archivos. Añadido -fn
en caso de que alguien está copiando estas líneas (-f
es la fuerza, -n
evitar algunas interacciones a menudo no deseados con los enlaces ya y no existentes).
Si sólo quieres que funcione, usa la opción A, si alguien más va a mirar lo que has hecho, usa la opción C.
El ejemplo que creo que buscan muchos de los que hacen esta pregunta es este. Si estás en el directorio al que quieres que se vuelque el contenido del repositorio git, ejecuta:
git clone [email protected]:whatever .
El "." al final especifica la carpeta actual como la carpeta de salida.
Cuando mueves los archivos a donde quieres, ¿estás moviendo también el directorio .git
? Dependiendo de tu sistema operativo y configuración, este directorio puede estar oculto.
Contiene el repo y los archivos de apoyo, mientras que los archivos del proyecto que están en su directorio /public
son sólo las versiones en el commit actual (rama maestra por defecto).