GitHub - Comandos e Dicas
📚 Sobre este manual: Comandos essenciais do Git/GitHub para gerenciar seus projetos no servidor.
📑 Índice Rápido
🎯 Conceitos Básicos
💡 O que é Git? Sistema de controle de versão que registra todo histórico de alterações do seu código.
💡 O que é GitHub? Plataforma online para hospedar repositórios Git (como um "dropbox" para código).
💡 O que é GitHub? Plataforma online para hospedar repositórios Git (como um "dropbox" para código).
📥 Clonar repositório
Baixar o código do GitHub para o servidor:
cd /var/www
git clone https://github.com/seu-usuario/seu-repositorio.git nome-do-site
💡 Explicação:
git clone- Comando para baixar o repositóriohttps://github.com/...- URL do repositório no GitHubnome-do-site- Nome da pasta local (opcional)
🔄 Atualizar código (pull)
Baixar as últimas alterações do GitHub:
cd /var/www/nome-do-site
git pull origin main
💡 Explicação:
git pull- Baixa as alterações do repositório remotoorigin- Nome padrão do repositório remoto (GitHub)main- Branch principal
⚠️ Atenção: Se você fez alterações locais, pode dar conflito. Use
git status antes.
📊 Verificar status
Mostra quais arquivos foram alterados e o estado do repositório:
git status
📌 O que cada cor significa:
- Verde - Arquivos adicionados para commit
- Vermelho - Arquivos modificados mas não adicionados
- Azul - Branch atual e diferenças com o remoto
📝 Enviar código (commit/push)
# Adicionar arquivos
git add .
git commit -m "Descrição das alterações"
git push origin main
💡 Dica: A mensagem deve ser clara. Ex: "Corrige bug no login" ou "Adiciona relatório"
🆘 Resolver conflitos
# 1. Puxar alterações
git pull origin main
# 2. Resolver conflitos manualmente nos arquivos
# Os conflitos aparecem assim:
# <<<<<<< HEAD
# seu código
# =======
# código do GitHub
# >>>>>>> 123abc
# 3. Finalizar
git add .
git commit -m "Resolve conflitos"
git push origin main
🏷️ Trabalhar com branches
Branches são "ramificações" do código, úteis para testar novas funcionalidades:
# Ver branches existentes
git branch
# Criar uma nova branch
git checkout -b nova-funcionalidade
# Mudar para uma branch
git checkout main
# Enviar uma nova branch para o GitHub
git push origin nova-funcionalidade
⏪ Desfazer alterações
Desfazer alterações locais (não commitadas)
# Desfazer alterações em um arquivo específico
git checkout -- app.py
# Desfazer todos os arquivos modificados
git checkout -- .
Desfazer o último commit (mantém as alterações)
git reset --soft HEAD~1
Desfazer o último commit (remove as alterações)
git reset --hard HEAD~1
⚠️ Cuidado:
git reset --hard remove permanentemente as alterações.
📋 Ver histórico
# Ver últimos commits
git log
# Ver últimos commits de forma resumida
git log --oneline
# Ver últimos 5 commits
git log -5
🚀 Fluxo completo de atualização do site
cd /var/www/nome-do-site
git pull origin main
sudo -u www-data venv/bin/pip install -r requirements.txt
sudo pkill -f "nome-do-site.*gunicorn"
sudo -u www-data venv/bin/gunicorn --workers 3 --bind unix:/var/www/nome-do-site/nome-do-site.sock app:app --daemon
curl -I https://seudominio.com.br
🔧 Comandos úteis
git fetch --all- Baixa informações do repositório remotogit reset --hard origin/main- Força código local igual ao remotogit stash- Guarda alterações temporariamentegit stash pop- Recupera alterações guardadasgit remote -v- Mostra a URL do repositório remotogit branch -d nome-branch- Remove branch localgit push origin --delete nome-branch- Remove branch remota
❌ Problemas comuns
- fatal: not a git repository → Você não está na pasta correta
- Permission denied (publickey) → Use HTTPS em vez de SSH, ou configure a chave SSH
- fatal: refusing to merge unrelated histories → Use
git pull origin main --allow-unrelated-histories - Your local changes would be overwritten → Use
git stashantes do pull - error: failed to push some refs → Faça
git pullprimeiro
📌 Dicas importantes
- ✅ Sempre faça
git statusantes de qualquer operação - ✅ Use mensagens de commit claras
- ✅ Nunca faça deploy sem antes testar localmente
- ✅ Mantenha um arquivo
.gitignorepara excluirvenv/,__pycache__/,.env - ✅ O arquivo
.envNUNCA deve ser commitado - ✅ Após atualizar código, lembre-se de reiniciar o Gunicorn
Manual Técnico - Última atualização: Março 2026