Gancho post-recepción Git. Mueve todo excepto algunas carpetas

Implementé un gancho post-recepción en mi server (git fue inicializado con git init --bare ). Hook fue creado de la siguiente manera:

 cd repo/hooks/ touch post-receive chmod 777 post-receive 

Luego, dentro del file tengo:

 #!/bin/sh GIT_WORK_TREE=/var/www export GIT_WORK_TREE git checkout -f 

En este momento, cuando presiono mis cambios locales, todo se mueve a la carpeta / var / www. El problema es que no quiero mover algunas de las carpetas. Por ejemplo, tengo la folder1 y la folder2 que no quiero que se muevan. Actualmente estoy eliminando manualmente estas carpetas después del push, pero este es un trabajo ridículo y me gustaría automatizarlo.

Estoy en ubuntu 14.04 / git 2.1

Estoy eliminando manualmente estas carpetas después de la inserción

Podrías agregar este paso en tu gancho

La otra forma es intentar configurar un checkout disperso (ya que puede excluir carpetas en el file de sparse-checkout ).

 echo "/*" > .git/info/sparse-checkout echo "!folder1/" >> .git/info/sparse-checkout echo "!folder2/" >> .git/info/sparse-checkout