Tenía esta misma necesidad. En mi caso, tenía una carpeta web estándar creada por la instalación de un servidor web. Para los propósitos de esta ilustración, digamos que esto es
/server/webroot
y webroot contiene otros archivos y carpetas estándar. Mi repositorio solo tiene los archivos específicos del sitio (html, javascript, CFML, etc.)
Todo lo que tuve que hacer fue:
cd /server/webroot
git init
git pull [url to my repo.git]
Debe tener cuidado al hacer git init en la carpeta de destino porque si NO lo hace, sucederá una de dos cosas:
- El git pull simplemente fallará con un mensaje sobre ningún archivo git, en mi caso:
fatal: no es un repositorio git (ni ninguno de los directorios principales): .git
- Si no es un archivo en algún lugar .git en la ruta de los padres a la carpeta de tu repositorio tirado se creará en ese padre que contiene el archivo .git. Esto me sucedió y me sorprendió ;-)
Esto NO molestó ninguno de los archivos "estándar" que tengo en mi carpeta webroot, pero sí tuve que agregarlos al archivo .gitignore para evitar la adición inadvertida de ellos a las confirmaciones posteriores.
Esto parece una manera fácil de "clonar" en un directorio no vacío. Si no desea los archivos .git y .gitignore creados por la extracción, simplemente elimínelos después de la extracción.
ls -a
¿ves un.git
directorio?