GitHub - Comandos e Dicas - Manual Técnico

GitHub - Comandos e Dicas

📚 Sobre este manual: Comandos essenciais do Git/GitHub para gerenciar seus projetos no servidor.

🎯 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).

📥 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ório
  • https://github.com/... - URL do repositório no GitHub
  • nome-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 remoto
  • origin - 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 remoto
  • git reset --hard origin/main - Força código local igual ao remoto
  • git stash - Guarda alterações temporariamente
  • git stash pop - Recupera alterações guardadas
  • git remote -v - Mostra a URL do repositório remoto
  • git branch -d nome-branch - Remove branch local
  • git push origin --delete nome-branch - Remove branch remota

❌ Problemas comuns

📌 Dicas importantes

  • ✅ Sempre faça git status antes de qualquer operação
  • ✅ Use mensagens de commit claras
  • ✅ Nunca faça deploy sem antes testar localmente
  • ✅ Mantenha um arquivo .gitignore para excluir venv/, __pycache__/, .env
  • ✅ O arquivo .env NUNCA deve ser commitado
  • ✅ Após atualizar código, lembre-se de reiniciar o Gunicorn

Manual Técnico - Última atualização: Março 2026