Adeus FTP! Como transferir os arquivos do seu site via Git

O Git é uma poderosa ferramenta de controle de versão que permite publicar e controlar arquivos com apenas uma linha de comando. Se você ainda utiliza o FTP para transferir e publicar os arquivos do seu site na web, então trago aqui pelo menos 10 bons motivos para você desistir:

  • Erro irrecuperável: Ao usar o FTP, você pode apagar um arquivo acidentalmente, e recuperá-lo pode ser difícil ou impossível.
  • Atualizações equivocadas: O FTP pode levar a atualizações falhas, enviando arquivos errados sem querer ou mesmo sem perceber, resultando em mudanças não esperadas no site.
  • Dificuldade em corrigir erros: Se você cometer um erro no código durante a transferência, pode ser complicado repará-lo, exigindo refazer todo o processo pois não há um histórico de alterações como há no Git.
  • Sobrescrita de configurações: É possível sobrescrever um arquivo de configuração publicado pela versão local, interrompendo o funcionamento do site.
  • Movimentação acidental de arquivos: O FTP pode levar a mover arquivos ou pastas para locais indesejados de forma acidental.
  • Dificuldade em rastrear mudanças: É muito comum perder o controle das mudanças feitas em um projeto quando o FTP é utilizado, uma vez que ele não guarda um histórico de alterações.
  • Dificuldade em rastrear alterações em arquivos grandes: Ao atualizar um arquivo grande, pode ser extremamente difícil localizar onde foram feitas as alterações.
  • Falta de backups adequados: Por conter um histórico de alterações, o Git também acaba funcionando como um backup, diferente do FTP que pode resultar em perda total de dados em caso de problemas.
  • Risco de vírus: Existe o risco de arquivos serem infectados por vírus, causando danos ao site. Com o sistema de registro de alterações do Git podemos saber se o arquivo foi alterado por algum programa malicioso.
  • Colaboração atrapalhada: Trabalhar em equipe com o FTP pode ser desafiador, especialmente para rastrear alterações e identificar responsáveis.

Esses são apenas alguns dos problemas que já enfrentei anos atrás quando ainda utilizava o FTP. A boa notícia é que você não precisa sofrer com isso! O Git pode assustar algumas pessoas por ser controlado via linha de comando, porém, uma vez que você entende a simplicidade de seu uso, nunca mais vai abrir mão dele. Além disso, o Git é uma ferramenta muito completa, podendo até mesmo gerar relatórios detalhados sobre as alterações feitas nos arquivos, incluindo datas das modificações.

Se você ainda não tem muita familiaridade com o Git sugiro que comece experimentando guardar seus códigos no GitHub. Como a intenção deste artigo é a configuração de um Git remoto para a publicação (deploy) você pode aprender o básico com uma pesquisa simples!

Agora sim, vejamos como configurar o Git para publicar arquivos remotamente. Vamos aos códigos:

## Adiciona um usuário para fazer acesso remoto
adduser gituser

## Adiciona um grupo chamado git
addgroup git

## Adiciona o usuário "gituser" ao grupo git
usermod -a -G git gituser

## Acesse pasta desejada e crie um novo repositório
git init

## Cria um hook para atualizar os arquivos no servidor quando forem transferidos
## ... o comando cat vai gerar um arquivo, você ir colando o código e no final precionar Ctrl+D para sair
cat > .git/hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
(Ctrl+D)

## Adiciona permissões de escrita ao hook
chmod +x .git/hooks/post-receive

## Configura o repositório para permitir a publicação remota
## ... caso precise mexer nos arquivos pelo servidor, é preciso mudar para "false"
git config --bool core.bare true

## Adiciona usuário/grupo como dono a todos os arquivos da pasta "exemplo.org"
## ... troque "exemplo.org" pela pasta que foi instalado o git
chown -R gituser:git exemplo.org/

## Agora ficou fácil! Basta clonar, realizar as modificações e mandar ver no git push 
## git clone ssh://gituser@host.xyz/var/www/exemplo.org

Agora você já sabe! Basta clonar o repositório e realizar as modificações localmente. Você pode ainda realizar quantos commits quiser, pois as modificações são guardadas localmente e ficam acessíveis pelo comando git log. Ao terminar seu código, pode mandar ver no git push para enviar as alterações para o servidor e ser feliz!

Agora sim! Chega de dor de cabeça com FTP, ou melhor, adeus FTP!


Tags:

  • Git
  • Github
  • FTP
  • Controle de versão
  • Deploy

Compartilhar:

    O que achou do artigo?

    Escreva um comentário, deixe-me saber o que achou do artigo. Se tens uma dúvida basta perguntar:

    Resposta ao comentário:
    Loading...