Muitas pessoas desenvolvem o projeto sem controle de versão, ou as vezes usam mas na hora de colocar as modificações no servidor, utilizam algum programa FTP, o que acaba não usufruindo do controle de versão. Será que isso funciona se tiver uma equipe? NÂO, está é a resposta.
Com isto, criei seis passos necessários para se colocar um projeto que está em controle de versão, sincronizando as modificações locais com o servidor sem uso de alguma ferramentas FTP.
Tutorial GIT para as pessoas que utilizam alguma IDE ou para quem gosta de utilizar o Terminal.
Link para tutorial GIT: http://pt.slideshare.net/MarcosMass/comeando-a-utilizar-o-git
2. Objetivo
Configurar um ambiente para que seja
possível upar um projeto local, e
inexistente no servidor, para o
servidor , sem uso de ferramenta FTP.
Além de ter o controle de versão do
projeto.
3. Mas primeiro...
Não é preciso que você seja um expert em nenhum do
assuntos abaixo, mas tenha conhecimento básico:
➔
Controle de Versionamento GIT
http://pt.wikipedia.org/wiki/Git / http://gitimmersion.com/
➔
Conexão SSH
http://pt.wikipedia.org/wiki/SSH
➔
Familiaridade com os terminais, ou prompt da
vida(Depende do S.O. do seu servidor).
Comandos básicos: entrar, sair, criar e deletar pastas.
4. Introdução(1)
Muito se houve falar do controle de versão
utilizando repositórios tais como:
BitBucket
Github
Gitorius
Entre outros...
5. Introdução(2)
Mas e se eu quiser colocar o meu
projeto e um servidor próprio?
Como faço para colocá-lo em
controle de versão?
6. Introdução(3)
É justamente isto que proponho lhe ajudar a
fazer...
Colocar o seu projeto que está em um servidor
próprio em controle de versão utilizando o GIT via
SSH.
Utilizei o S.O. Ubuntu(Linux), mas é possível no
Windows(usando: putty ssh, git) e no MAC.
Suponho que você já tenha instalado o git, ssh na
sua máquina.
7. Passo nº 1 – Buscando informação...
A primeira coisa que se deve saber é saber
se o seu servidor permite acesso via SSH e
se ele é Linux.
Como? Entrando em contato com eles.
Aproveite e peça o link(ou ip), usuário e
senha de acesso, caso seja possível.
Normalmente o usuário e a senha é o
mesmo da conta FTP.
8. Passo nº 2 – Preparando o ambiente
Se você já colocou o seu projeto local em
controle de versão, basta fazer o primeiro
commit.
Caso contrário coloque-o. Abaixo tem um link
de ajuda:
http://tableless.com.br/iniciando-no-git-parte-
1/#.Ujgy97zoFUE
Não esqueça de fazer o commit.
9. Passo nº 3 – Acessando o servidor
Usuário Linux ou MAC:
execute o comando, no terminal:
ssh usuario@endereco
vai pedir a senha você coloca e pronto está no servidor
Usuário windows:
Configurar o putty com usuario, endereco e porta.
O usuario e endereco são os mencionados no slide anterior;
Nos dois casos estarão em um terminal.
10. Passo nº 4 – Versionando projeto no Servidor
Supondo que você tenha a pasta do
projeto já criada no servidor, exemplo
teste.com.br, e que a pasta está dentro da
pasta public_html.
Na verdade, não importa onde o projeto
esteja, mas a nível de entendimento
vamos supor o que foi descrito acima.
11. Passo nº 4 – Versionando projeto no Servidor(2)
Vá até a pasta do projeto, teste.com.br. Para isto
você só irá precisar usar os comandos ls e cd.[1].
Digite pwd e aperte Enter para saber o caminho do
diretório que você está.
Algo parecido com: /home/usuario/public_html/teste.com.br
Digite mkdir .git/ && cd .git/ e aperte enter e em
seguida digite git init –bare.
O 1º comando cria e entra na pasta .git.
O 2º cria um repositório git vázio.
12. Passo nº 5 – Criando um gancho com o Servidor
Vamos criar um 'gancho' que será para dar checkout do
seu código para o repositório web e vamos definir o
diretório git e o diretório de trabalho (pasta onde irá ficar o
projeto).
Dentro da pasta .git digite o comando:
vi hooks/post-update
OU digite
vi /home/usuario/public_html/teste.com.br/.git/hooks/post-
update
13. Passo nº 5 – Criando um gancho com o Servidor(2)
Irá abrir o editor de texto vi, aperte I(i) para ativar o
modo de inserção e digite:
GIT_DIR=/home/usuario/public_html/teste.com.br/.git
GIT_WORK_DIR=/home/usuario/public_html/teste.com.br/ git $some_git_command
GIT_WORK_TREE=/home/usuario/public_html/teste.com.br/ git checkout -f
Tome o cuidado para está digitando o caminho certo.
Aperte ctrl + esc para sair do modo de inserção.
Digite :wq e aperte enter, para salvar e sair.
14. Passo nº 5 – Criando um gancho com o Servidor(3)
Voltando ao terminal, digite:
chmod +x /home/usuario/public_html/teste.com.br/.git/hooks/post-update
Para dar permissão de execução ao arquivo post-
update.
15. Passo nº 6 – Upando o projeto local p/ o servidor
Abra o terminal – o programa do Windows também
tem.
Digite o comando abaixo (tudo na mesma linha):
git remote add origin
ssh://usuario@endereco/home/usuario/public_html/teste.c
om.br/.git/
Adicionando a configuração local para um diretório
remoto.
16. Passo nº 6 – Upando o projeto local p/ o servidor(2)
Expandindo o conteúdo do repositório local para
um remoto:
git push origin +master:refs/heads/master
informe a senha e depois digite:
git push origin master
Se a configuração feita no slide 13 estiver correta o seu
projeto já estará lá no seu servidor.
Toda vez que fazer um commit e quiser upar para o
servidor tem que dar o comando: git push origin
master
17. Conclusão
Configurar o servidor não é trivial, mas também não é
algo de gênio, até porque eu conseguir(xD).
Quem usa alguma IDE, como o Eclipse ou Netbeans, tem
a vantagem de fazer os commit's e push's pela própria
IDE, sem precisar usar muito o terminal, além delas
ajudarem na visualização de conflitos. Mas nada que não
seja possível pelo terminal eu até aprovo o uso do
terminal para se ter uma noção maior do GIT.
Em breve farei outro tutorial com os passos para colocar
um projeto existente no servidor em controle de versão.
Obrigado!
18. Sobre do autor
Marcos Silva
https://www.facebook.com/massilva1
http://www.linkedin.com/in/massilva
@marcossilva
marcos@develops6.com
http://develops6.com/
Imagem em: http://findicons.com/search/inside