# 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) ```bash # 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 ```powershell # 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`: ```powershell # 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: ```powershell 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 - **Remote**: https://git.itguys.com.br/itguys_dev/Workspace - **Branch**: frontend_React ## 💡 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