Eu tenho o meu estruturado onde o repositório do git está na minha área privada (não visível para a Web, tecnicamente) e configurei um post-receive
hook para publicar as alterações no site.
A única grande desvantagem em que consigo pensar é que você não pode http
checkout e que alguns hosts bloqueiam a porta que o git usa.
Você pode configurar um gancho de pós-recebimento em um repo com:
-
cd
ao seugit repo
-
Crie o arquivo
post-receive
hook (hooks/post-receive
) com o seguinte conteúdo e torne-o executável.#!/usr/bin/env bash
eGIT_WORK_TREE=/path/to/site/folder
-
chmod +x hooks/post-receive
Agora, quando você envia alterações, ele faz o checkout no diretório do seu site (por exemplo, publique suas alterações).
[ Fonte ]