Soy nuevo en git, tratando de encontrar la forma de tener un website actualizado con cada inserción haciendo checkout en la raíz web. Busqué stackoverflow y solo encontré temas sobre cómo clonar, que no es lo que quiero. Hasta ahora he configurado mis repos locales y remotos, y un gancho post-recepción:
#!/bin/sh GIT_WORK_TREE=/path/to/website/httpdocs git checkout -f
Mi problema es que la carpeta raíz del proyecto está incluida en el process de pago … cuando envío contenido al repository remoto, termino con algo así como
/path/to/website/httpdocs/project_root/index.php
Lo que me gustaría lograr es tener
/path/to/website/httpdocs/index.php
¿Cómo puedo omitir la carpeta raíz del proyecto al momento de pagar?
Si:
.git
) Entonces puedes usar en tu gancho post-receive
:
git --git-dir=/path/to/project_root/.git --work-tree=/path/to/website/httpdocs checkout -f
Pero si está presionando para project_root
, es más bien un repository project_root
, en cuyo caso, su directory raíz debería llamarse /project_root.git
, y el /project_root.git
post-receive
se vería así:
git --git-dir=/path/to/project_root.git --work-tree=/path/to/website/httpdocs checkout -f
En cualquier caso, project_root
debe ser la raíz de un git repo.
El bloque de corte OP comenta :
parece que el problema está causado por el complemento eclipse git (EGit), que crea automáticamente una carpeta raíz con el nombre del proyecto.
Ahora lowebroot
cambiando la ruta a lawebroot
de/path/to/website/httpdocs
a/path/to/website/httpdocs/project_root
.