3.1 KiB
3.1 KiB
Script di Versioning e Git Push
Questi script automatizzano il processo di incremento della versione e push su git per il progetto Duxiter.
Script Disponibili
1. git-push-version.sh - Script Completo
Script principale che gestisce l'incremento della versione e il push completo.
Uso:
./git-push-version.sh [patch|minor|major] "messaggio commit"
Parametri:
patch(default): Incrementa l'ultima cifra (1.5.0 → 1.5.1)minor: Incrementa la cifra centrale (1.5.0 → 1.6.0)major: Incrementa la prima cifra (1.5.0 → 2.0.0)messaggio commit: Messaggio per il commit (opzionale)
Esempi:
# Incremento patch con messaggio default
./git-push-version.sh
# Incremento minor con messaggio personalizzato
./git-push-version.sh minor "Aggiunta nuova funzionalità"
# Incremento major per breaking changes
./git-push-version.sh major "Refactoring completo API"
2. quick-push.sh - Push Rapido
Script semplificato per un push rapido con incremento automatico patch.
Uso:
./quick-push.sh "messaggio commit"
Esempi:
# Push rapido con messaggio
./quick-push.sh "Fix bug minore"
# Push rapido con messaggio default
./quick-push.sh
Cosa Fanno gli Script
Processo Automatico:
- Verifica dello stato git: Controlla che siamo in una repo git
- Controllo modifiche: Avvisa se ci sono modifiche non committate
- Incremento versione: Aggiorna automaticamente:
package.json(root)server/package.json
- Commit automatico: Crea un commit con il messaggio specificato
- Creazione tag: Crea un tag git con la nuova versione
- Push completo: Pusha sia il codice che i tag su origin
- Riepilogo: Mostra la nuova versione e gli ultimi commit
Output Colorato:
- 🔵 INFO: Informazioni sul processo
- 🟢 SUCCESS: Operazioni completate con successo
- 🟡 WARNING: Avvisi (es. modifiche non committate)
- 🔴 ERROR: Errori che bloccano l'esecuzione
Versioning Semantico
Gli script seguono il Semantic Versioning:
- MAJOR (X.y.z): Breaking changes, incompatibilità
- MINOR (x.Y.z): Nuove funzionalità, backward compatible
- PATCH (x.y.Z): Bug fixes, backward compatible
Sicurezza
- Gli script verificano lo stato git prima di procedere
- Chiedono conferma se ci sono modifiche non committate
- Usano
set -eper fermarsi in caso di errori - Non sovrascrivono tag esistenti
Troubleshooting
Errore: "Non siamo in una directory git"
- Assicurati di essere nella root del progetto
- Verifica che esista la cartella
.git
Errore: "Tipo di versione non valido"
- Usa solo:
patch,minor, omajor
Push fallito
- Verifica la connessione internet
- Controlla i permessi sul repository
- Assicurati che il branch corrente esista su origin
Note
- Gli script aggiornano automaticamente sia il package.json principale che quello del server
- I tag vengono creati automaticamente nel formato
vX.Y.Z - Il push include sia il codice che i tag
- Gli script sono compatibili con bash su sistemi Unix/Linux