# Prontuario Git per installare/aggiornare Warehouse da remoto Repository Gitea: https://gitea.alessandrobonvicini.it/administrator/ware_house.git Cartella consigliata sul PC di produzione: C:\flywms Ramo principale da usare in produzione: main Ultimo tag stabile al momento della stesura: alpha7-stabilizzazione-non-scaffalate 1. Prima installazione su PC nuovo ---------------------------------- Aprire PowerShell nella macchina di produzione ed eseguire: cd C:\ git clone https://gitea.alessandrobonvicini.it/administrator/ware_house.git C:\flywms cd C:\flywms git switch main git pull origin main Installare le dipendenze Python: python -m pip install --upgrade pip python -m pip install -r requirements.txt Avvio applicazione desktop: python main.py Oppure senza finestra console: pythonw warehouse.pyw Avvio applicazione barcode: python barcode_client.py Oppure senza finestra console: pythonw barcode.pyw 2. Aggiornare un'installazione gia' esistente -------------------------------------------- Sul PC di produzione: cd C:\flywms git fetch --all --tags git switch main git pull origin main python -m pip install -r requirements.txt Poi rilanciare l'applicazione. 2.bis Aggiornare produzione dopo merge su main gia' fatto --------------------------------------------------------- Questo e' il caso piu' normale: - sul PC di sviluppo hai gia' fatto merge del ramo di lavoro dentro main; - hai gia' fatto push su Gitea; - sul PC di produzione devi solo scaricare l'ultima versione ufficiale. Sul PC di produzione eseguire: cd C:\flywms git fetch --all --tags git switch main git pull origin main python -m pip install -r requirements.txt Poi chiudere e riaprire l'applicazione. Controllo consigliato dopo l'aggiornamento: git log --oneline --decorate -3 git describe --tags --abbrev=0 main 3. Controllare che versione/tag si sta usando --------------------------------------------- Dentro C:\flywms: git status git log --oneline --decorate -5 Vedere l'ultimo tag raggiungibile da main: git describe --tags --abbrev=0 main Vedere tutti i tag, dal piu' recente: git tag --sort=-creatordate Vedere graficamente branch, commit e tag: git log --oneline --decorate --graph --all -20 4. Installare esattamente una versione taggata --------------------------------------------- Usare questa modalita' quando si vuole installare una fotografia precisa e non necessariamente l'ultima versione di main. Esempio: cd C:\ git clone --branch alpha7-stabilizzazione-non-scaffalate https://gitea.alessandrobonvicini.it/administrator/ware_house.git C:\flywms_alpha7 Nota: Un tag e' una fotografia ferma. Non avanza con git pull come un branch. Per produzione ordinaria e' piu' comodo usare main. 5. Portare l'ultimo sviluppo dentro main --------------------------------------- Da fare sulla macchina di sviluppo, non sul PC di produzione. Se l'ultima versione buona e' su sviluppo3 e vuoi renderla ufficiale su main: cd C:\devel\python\ware_house git fetch --all --tags git status git switch main git pull origin main git merge sviluppo3 git push origin main Se vuoi anche creare un tag stabile: git tag nome-del-tag git push origin nome-del-tag Esempio: git tag alpha8-nome-breve-della-modifica git push origin alpha8-nome-breve-della-modifica 6. Se il PC di produzione ha modifiche locali --------------------------------------------- Prima di aggiornare controllare: cd C:\flywms git status Se compaiono file modificati che non devono essere conservati, NON fare comandi distruttivi senza sapere cosa sono. Prima copiare o rinominare i file modificati. File che normalmente NON devono essere messi nel repository: db_connection.json *.log __pycache__ *.pyc *.zip 7. Script SQL ------------- Gli script SQL sono nel repository e vanno lanciati in SSMS solo quando serve preparare o aggiornare il database per le funzioni Python. Patch principali: apply_python_parallel_pickinglist_patch.sql apply_python_pickinglist_history_views.sql apply_online_history_forms_patch.sql Rollback principali: rollback_python_parallel_pickinglist_patch.sql rollback_python_pickinglist_history_views.sql rollback_online_history_forms_patch.sql Nota: Prima di lanciare patch SQL in produzione, fare sempre backup o snapshot del database, oppure verificare di avere una procedura di rollback sicura. 8. Comando rapido piu' usato ---------------------------- Aggiornamento standard del PC di produzione: cd C:\flywms git fetch --all --tags git switch main git pull origin main python -m pip install -r requirements.txt 9. Per vedere cosa ho installato ------------------------------------------------------ git log --oneline --decorate -3 git describe --tags --abbrev=0 main 10. Salvare questo prontuario su Gitea ------------------------------------- Da fare sul PC di sviluppo, dentro la cartella del repository: cd C:\devel\python\ware_house git status git add comandi_git_per_installare.txt git commit -m "Aggiungi prontuario Git per installazione remota" git push origin main Dopo il push, il file sara' disponibile anche sui PC di produzione al prossimo: cd C:\flywms git pull origin main 11. Aggiornare il prontuario se lo modifico in locale ---------------------------------------------------- Se modifichi questo file sul PC di sviluppo e vuoi sincronizzarlo su Gitea: cd C:\devel\python\ware_house git status git diff -- comandi_git_per_installare.txt git add comandi_git_per_installare.txt git commit -m "Aggiorna prontuario Git installazione" git push origin main Se invece lo hai modificato su un PC di produzione e vuoi prima recuperare eventuali aggiornamenti online: cd C:\flywms git status git pull origin main Se Git segnala conflitti, fermarsi e risolverli prima di rilanciare l'applicazione. Per evitare confusione, e' meglio modificare questo prontuario solo sul PC di sviluppo e poi fare push su Gitea.