testes/GIT-AUTO-SYNC.md

6.1 KiB

Git Auto-Sync - Documentação

📋 Visão Geral

O Git Auto-Sync é um sistema de automação que monitora alterações no projeto PlatformSistemas e realiza commits e push automáticos para o repositório Git remoto.

🎯 Características

  • Monitoramento em tempo real de alterações nos arquivos
  • Debounce inteligente (aguarda 10 segundos após a última alteração)
  • Build automático antes de cada commit
  • Filtragem inteligente de arquivos (ignora node_modules, .git, dist, etc.)
  • Mensagens de commit descritivas com timestamp e contagem de arquivos
  • Interface visual com cores e feedback claro

🚀 Como Usar

Método 1: Via NPM (Recomendado)

# Com build automático (padrão)
npm run git:sync

# Sem build automático (mais rápido para desenvolvimento)
npm run git:sync:nobuild

Método 2: Via PowerShell Direto

# Com build automático
.\git-auto-sync.ps1

# Sem build automático
$env:BUILD_ENABLED='false'; .\git-auto-sync.ps1

⚙️ Configurações

Você pode ajustar as configurações editando o arquivo git-auto-sync.ps1:

# Configurações (linhas 10-12)
$BRANCH_NAME = "frontend_React"      # Branch de destino
$DEBOUNCE_SECONDS = 10               # Tempo de espera após última alteração
$BUILD_ENABLED = $true               # Executar build antes do commit

Parâmetros Configuráveis

Parâmetro Descrição Valor Padrão
BRANCH_NAME Branch do Git para push frontend_React
DEBOUNCE_SECONDS Segundos de espera após última alteração 10
BUILD_ENABLED Executar build de produção antes do commit true

📁 Arquivos Ignorados

O script ignora automaticamente as seguintes pastas/arquivos:

  • node_modules/
  • .git/
  • dist/
  • .env
  • *.log
  • package-lock.json
  • .tmp/
  • .cache/
  • .vscode/
  • .idea/
  • *.swp
  • *~

🔄 Fluxo de Trabalho

  1. Detecção de Alteração: O script detecta quando um arquivo é modificado, criado, deletado ou renomeado
  2. Debounce: Aguarda 10 segundos para garantir que não há mais alterações pendentes
  3. Verificação: Confirma que há alterações reais para commitar
  4. Build (opcional): Executa npm run build para gerar a versão de produção
  5. Stage: Adiciona todos os arquivos alterados (git add .)
  6. Commit: Cria um commit com mensagem descritiva
  7. Push: Envia as alterações para o repositório remoto na branch frontend_React

📝 Formato das Mensagens de Commit

Auto-deploy: 2026-01-13 09:20:45 | 3 arquivo(s) alterado(s) [Build included]
  • Timestamp: Data e hora do commit
  • Contagem: Número de arquivos alterados
  • Build: Indica se o build foi incluído

🛑 Como Parar

Para interromper o monitoramento, pressione Ctrl+C no terminal onde o script está rodando.

🔧 Troubleshooting

Erro: "Execution Policy"

Se você receber um erro sobre política de execução, execute:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Erro no Build

Se o build falhar, o commit será abortado automaticamente. Verifique os erros no console e corrija-os antes de tentar novamente.

Push Rejeitado

Se o push for rejeitado (ex: branch desatualizada), você precisará:

  1. Parar o script (Ctrl+C)
  2. Fazer git pull origin frontend_React
  3. Resolver conflitos (se houver)
  4. Reiniciar o script

🎨 Interface Visual

O script exibe um banner informativo ao iniciar:

╔════════════════════════════════════════════════════════════╗
║  Git Auto-Sync - PlatformSistemas                          ║
╠════════════════════════════════════════════════════════════╣
║  Branch: frontend_React                                    ║
║  Remote: https://git.itguys.com.br/itguys_dev/Workspace   ║
║  Debounce: 10 segundos                                     ║
║  Build automático: Habilitado                              ║
╠════════════════════════════════════════════════════════════╣
║  Status: Monitorando alterações...                         ║
║  Pressione Ctrl+C para parar                               ║
╚════════════════════════════════════════════════════════════╝

📊 Logs e Feedback

O script fornece feedback visual em tempo real:

  • 🔵 Azul escuro: Alterações detectadas
  • 🟡 Amarelo: Processos em andamento
  • 🟢 Verde: Operações bem-sucedidas
  • 🔴 Vermelho: Erros

🔐 Segurança

  • O script não commita arquivos sensíveis (.env, etc.)
  • Arquivos temporários e de cache são automaticamente ignorados
  • O .gitignore do projeto é respeitado

📌 Repositório

💡 Dicas

  1. Desenvolvimento rápido: Use npm run git:sync:nobuild para commits mais rápidos durante desenvolvimento
  2. Produção: Use npm run git:sync para garantir que o build está sempre atualizado
  3. Múltiplas alterações: O debounce agrupa alterações feitas em sequência em um único commit
  4. Monitoramento: Mantenha o terminal visível para acompanhar o status das sincronizações

🆘 Suporte

Em caso de problemas:

  1. Verifique se o Git está configurado corretamente
  2. Confirme que você tem permissões de push na branch frontend_React
  3. Verifique se não há conflitos pendentes no repositório
  4. Revise os logs no console para identificar erros específicos

Última atualização: 2026-01-13 (Teste Auto-Sync 12:15) Versão: 2.1 Autor: Antigravity AI