Neste artigo, assume-se que você tenha um site hospedado em um servidor, que esteja rodando Git e SSH.
Repositório local
Crie um repositório local normalmente, caso já tenha, pule esta etapa.
$ cd meusite.com.br
Repositório remoto
Neste exemplo, vou utilizar a estrutura que o Plesk utiliza para aos domínios.
Precisamos de uma pasta que fique fora de visibilidade da web, portanto, utilizarei a pasta private, que fica na raiz do domínio.
Criamos a pasta do repositório:
$ cd meusite.git/
Iniciamos um repositório “crú” no mesmo local:
E então configuramos o Git com as seguintes opções:
$ git config core.bare false
$ git config receive.denycurrentbranch ignore
Configuramos também o Hook que será executado após toda atualização:
#!/bin/bash
SITE_PATH=/var/www/vhosts/meusite.com.br
cd $SITE_PATH/httpdocs
git --work-tree=. --git-dir=$SITE_PATH/private/meusite.git checkout -f
E colocamos permissão para execução:
Processo de atualização
O processo para atualização é bem simples. Primeiro criamos outro “master” branch, chamado “web”.
Em seguida, realize qualquer alteração:
$ git commit -am 'teste'
Tente acessar: http://meusite.com.br/teste.html
Após isso, você pode atualizar somente com “git push web”, configurando:
Quaisquer dúvidas sobre o Git, podem ser retiradas através do canal #git na irc.freenode.net.
Este material foi baseado no Using Git to manage a web site.