180 lines
6.1 KiB
Markdown
180 lines
6.1 KiB
Markdown
# 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
|