O Git é um excelente vigia: ele percebe qualquer alteração. Mas tem coisas que NÃO DEVEM ir para a internet de jeito nenhum.
Imagine colocar o seu sistema de logística no GitHub com as senhas do banco de dados expostas. Qualquer pessoa poderia acessar e apagar os dados da sua aplicação! Além disso, existem arquivos temporários e logs que só servem para poluir o repositório.
A solução é o arquivo .gitignore. Ele funciona como uma capa da invisibilidade: tudo o que você escrever dentro dele, o Git vai fingir que não existe.
Entendendo o Problema no PHP
É muito comum termos um arquivo de configuração com dados sensíveis. Imagine um arquivo config.php:
<?php
// Nunca envie isso para o GitHub!
$host = "localhost";
$usuario = "admin_logistica";
$senha = "senha_super_secreta_123";
$banco = "banco_de_dados_oficial";
$conexao = new mysqli($host, $usuario, $senha, $banco);
?>Se você rodar git status, o Git vai mostrar o config.php em vermelho. Nós precisamos impedir isso.
Exercício Prático: Escondendo a Senha
Criando o arquivo secreto: No seu projeto, crie o arquivo
config.phpcom o código acima e salve. Rodegit statuspara vê-lo listado.Criando a lista de banidos: Na raiz do seu projeto, crie um arquivo chamado exatamente
.gitignore.Abra o
.gitignoree escreva o nome do arquivo que você quer esconder:onfig.phpA Mágica acontecendo: Volte ao terminal e rode
git statusnovamente. O arquivoconfig.phpdesapareceu da lista!
Faça o commit do seu escudo de proteção:
git add .gitignore
git commit -m "Adiciona arquivo gitignore para proteger senhas"
Como escrever regras no .gitignore
Você pode usar curingas para bloquear coisas em massa:
| Regra no .gitignore | O que ele esconde |
|---|---|
config.php | Bloqueia exatamente este arquivo. |
*.log | O asterisco é um curinga. Bloqueia todos os arquivos que terminam com ".log". |
/uploads/ | Bloqueia a pasta inteira chamada "uploads" e tudo dentro dela. |
.env | O padrão de mercado hoje! Senhas ficam neste arquivo (sempre ignorado). |
Aviso Importante: O
.gitignoresó funciona para arquivos que o Git ainda não rastreou. Se você já fez um commit do arquivo com a senha e só depois criou o.gitignore, a senha continuará no histórico. Se errar, troque a senha imediatamente!
