Git push para atualizar seu site.

Esta dica explicará como configurar git e push para git para atualizar seu site.

Nota:

Você deve ter suas chaves ssh já configuradas em seu servidor.

Instalando git em seu servidor

execute sudo apt-get update
então sudo apt-get install git-core
Isso é tudo o que é necessário para instalar o git.

Adicionar um usuário

Para adicionar uma execução do usuário sudo adduser git(git é o nome de usuário, pode ser qualquer coisa)
Agora você precisa adicionar sua chave ssh pública às chaves autorizadas dos usuários:
sudo mkdir /home/git/.ssh

sudo cp ~/.ssh/authorized_keys /home/git/.ssh/

sudo chown -R git:git /home/git/.ssh

sudo chmod 700 !$

sudo chmod 600 /home/git/.ssh/*

Adicionar um repositório

Em primeiro lugar, faça login como o usuário git com login git

Você deve então criar seu repositório e inicializá-lo:

Isso pressupõe que você está no diretório inicial.

mkdir myrepo.git

cd myrepo.git

git --bare init

Faça git atualizar seu site

Supondo que seu site esteja armazenado em, /var/www/example.comfaça o seguinte:

Você ainda deve estar no myrepo.gitdiretório, edite, você precisa editar seu arquivo de post hooks como:

vim hooks/post-receive
e digite o seguinte:

#!/bin/sh
GIT_WORK_TREE
=/var/www/example.com git checkout -f

Agora defina as permissões:
chmod +x hooks/post-receive

Configurando o repositório local

Supondo que você tenha git instalado em sua máquina, crie um novo diretório e inicialize-o com git init

Adicione um arquivo com algum conteúdo como: echo 'hello world' > index.html

adicione e confirme o arquivo:

git add index.html

git commit -q -m "first commit."

Em seguida, você precisa configurar o controle remoto assim:

Para o seguinte, substitua server.com por ip ou domínio.

git remote add web ssh://git@server.com/home/git/myrepo.git

Agora você precisa enviar para o servidor com git push web +master:refs/heads/mastere deve ser isso, seu site agora mostrará seu arquivo index.html.

Em atualizações futuras apenas execute git push web

obrigado