Workflow Git·

Usare GitHub Desktop per semplificare gli aggiornamenti di FiveM e individuare ogni modifica

Una guida senza riga di comando per i proprietari di server FiveM: usa GitHub Desktop per vedere esattamente cosa è cambiato in un aggiornamento, conserva le tue modifiche alla configurazione e torna indietro istantaneamente quando qualcosa si rompe.

Introduzione

Ogni proprietario di server conosce quella sensazione. Esce una nuova versione di una risorsa, il changelog dice "sostituisci la cartella /config/framework", e rimani paralizzato — perché hai passato ore a regolare quei file e non hai idea di cosa abbia effettivamente toccato l'aggiornamento. Sovrascrivi e perdi il tuo lavoro? Salta la cartella e rischi di rompere lo script? Copia le righe avanti e indietro a mano sperando di non aver dimenticato nulla?

C'è un modo molto migliore — e non devi toccare un singolo comando. Con un'app gratuita chiamata GitHub Desktop, puoi vedere esattamente cosa è cambiato in qualsiasi aggiornamento, mantenere al sicuro le tue personalizzazioni, e tornare indietro in pochi secondi, il tutto tramite una semplice interfaccia point-and-click.

Cos'è Git e cos'è GitHub Desktop?

Git è un sistema di controllo versione — pensalo come una cronologia di annullamento illimitata e perfetta per una cartella. Ogni volta che salvi uno snapshot (chiamato commit), esso registra lo stato esatto di ogni file. In seguito puoi confrontare due snapshot qualsiasi riga per riga, ripristinare uno stato precedente o unire le modifiche tra loro.

GitHub Desktop è un'app gratuita e visiva che mette Git dietro pulsanti intuitivi. Niente terminale nero, niente comandi da memorizzare: solo una finestra chiara che ti mostra cosa è cambiato e ti permette di fare commit, annullare e unire con un clic.

Per un server FiveM, la cartella che monitori è la tua directory resources (o un singolo script al suo interno). Git trasforma "Penso di aver cambiato qualcosa qui qualche settimana fa" in "mostrami precisamente cosa è cambiato tra il mese scorso e oggi."

GitHub Desktop funziona completamente in locale. Non devi caricare nulla su internet: ogni funzione in questa guida viene eseguita offline sulla tua macchina o VPS. Preferisci un'altra app? Sourcetree, GitKraken, Fork, e il pannello integrato Controllo Sorgente in VS Code fanno tutti lo stesso lavoro; i concetti descritti di seguito si applicano direttamente.

Perché questo è perfetto per gli aggiornamenti delle risorse

Aggiornare uno script nel modo tradizionale significa lavorare alla cieca. Git ti offre tre superpoteri:

  1. Rilevamento modifiche — dopo aver inserito una nuova versione, GitHub Desktop evidenzia ogni file modificato e ogni riga cambiata. Il changelog ti dice quali cartelle sostituire; Git ti mostra cosa è cambiato effettivamente così puoi fidarti.
  2. Personalizzazione sicura — le tue modifiche risiedono nei commit. Quando l'aggiornamento di un fornitore tocca lo stesso file, Git può unire i due set di modifiche, mantenendo le tue e le loro.
  3. Rollback istantaneo — se un aggiornamento rompe il tuo server, sei a un solo clic dallo stato esatto che avevi cinque minuti fa. Niente panico da "dove ho messo quel backup".
Si abbina perfettamente con le risorse protette da escrow come Sky-Systems. La cartella criptata source/ non cambia mai sul tuo lato, mentre tutto ciò che effettivamente modifichi si trova nella cartella in chiaro config/. Git traccia config/ in modo eccellente — che è esattamente il punto in cui le tue personalizzazioni e gli aggiornamenti del fornitore si incontrano.

Configurazione Unica con GitHub Desktop

Lo fai solo una volta per server.

Installa GitHub Desktop

Scaricalo e installalo da desktop.github.com. Puoi saltare o chiudere il prompt di accesso — un account online è necessario solo se desideri mai effettuare il backup su GitHub, cosa che questa guida non richiede.

Aggiungi la tua cartella delle risorse

Nella barra dei menu, clicca su File → Add local repository, quindi su Choose… e seleziona la tua cartella resources.

GitHub Desktop noterà che non è ancora tracciata e mostrerà: "This directory does not appear to be a Git repository." Clicca sul link "create a repository" che ti offre. Nella schermata successiva, lascia i valori predefiniti e clicca su Create repository.

Proteggi i tuoi dati sensibili

Un server FiveM contiene dati sensibili che non devono mai essere salvati nella tua cronologia. In GitHub Desktop, apri Repository → Repository settings → Ignored files e aggiungi regole come queste:

# Never track secrets
**/*.env
**/secrets.lua
server.cfg

# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store

Puoi anche fare clic con il tasto destro su qualsiasi file nell'elenco Changes e scegliere Ignore file (o Ignore all files of this type) — GitHub Desktop lo aggiunge a .gitignore per te.

Non inserire mai le credenziali nei commit. Le password del database, il tuo sv_licenseKey, i segreti di Tebex, i token di Discord e gli URL dei webhook devono rimanere fuori da Git. Aggiungili alla lista ignore prima del tuo primo commit — una volta che qualcosa è stato committato, rimane nella cronologia.

Fai il tuo primo Snapshot

Passa alla scheda Changes (barra laterale sinistra). Ogni file appare nell'elenco. Nella casella Summary in basso a sinistra, scrivi qualcosa come Baseline: working server before updates, quindi clicca su Commit to main.

Fatto. Ora hai una rete di sicurezza per l'intero tuo server.

Non pubblicare le tue risorse a pagamento. Se GitHub Desktop offre un pulsante blu "Publish repository", non toccarlo per qualsiasi script con licenza o protetto da escrow. Caricare quei file su un repository pubblico viola la licenza ed espone contenuti a pagamento. Mantieni il repository solo locale.

Il Flusso di Aggiornamento

Questa è la routine che ripeti per ogni aggiornamento. Ci vuole circa un minuto.

Committa il tuo Stato Attuale

Apri GitHub Desktop e controlla la scheda Changes. Se è presente qualcosa nell'elenco, committalo prima con un riepilogo come Pre-update snapshot, in modo che l'aggiornamento sia chiaramente distinguibile. Se l'elenco è vuoto, sei pronto.

Inserisci la Nuova Versione

Ferma il tuo server, quindi estrai il rilascio della nuova risorsa sopra i vecchi file, sovrascrivendoli — esattamente come indicato nel changelog (ad esempio, "sostituisci la cartella /config/framework"). Non preoccuparti di perdere qualcosa; il tuo stato precedente è salvato in modo sicuro tramite commit.

Vedi Esattamente Cosa è Cambiato

Torna su GitHub Desktop e apri la scheda Changes. Questo è il momento magico: ogni file toccato dall'aggiornamento è elencato, e cliccandone uno vedrai le sue modifiche riga per riga — linee rimosse in rosso, linee aggiunte in verde.

Ora puoi leggere precisamente cosa ha fatto l'aggiornamento — nuove opzioni di configurazione, valori predefiniti modificati, chiavi rinominate — invece di tirare a indovinare.

Dai un'occhiata all'elenco dei file e confrontalo con il changelog. Se il changelog dice che sono cambiati solo config/framework e config/banking, quelle dovrebbero essere le cartelle che vedi qui. Qualsiasi cosa inaspettata merita un esame più approfondito prima di effettuare il commit.

Riconcilia le tue personalizzazioni

Se l'aggiornamento ha sovrascritto un file che avevi personalizzato, il diff mostrerà le tue impostazioni in rosso (rimosse) e i valori predefiniti del fornitore in verde (aggiunti). Apri quel file nel tuo editor, riapplica i tuoi valori — il diff mostra esattamente quali righe — e salva. GitHub Desktop aggiorna il confronto in tempo reale mentre scrivi.

Per una riconciliazione completamente automatica, vedi il Pro Tip qui sotto.

Esegui il Commit dell'aggiornamento

Una volta che tutto sembra corretto e il tuo server si avvia correttamente, torna alla scheda Changes, inserisci un riepilogo come Update sky_base to 1.21.0 e clicca su Commit to main.

Ora hai un checkpoint etichettato a cui puoi sempre tornare.


Rollback quando qualcosa si rompe

Un aggiornamento si comporta male? Mantieni la calma: GitHub Desktop ti offre diverse opzioni, da quelle leggere a quelle drastiche.

Annulla le modifiche non committate. Nella scheda Changes, seleziona i file (o tutti), fai clic con il tasto destro e scegli Discard Changes / Discard All Changes. Questo li ripristina al tuo ultimo commit.

Torna a uno snapshot precedente. Apri la scheda History (cronologia) nella barra laterale sinistra per vedere ogni snapshot che hai creato:

  • Per annullare in sicurezza un aggiornamento mantenendo una cronologia pulita, fai clic con il tasto destro sul commit errato e scegli Revert Changes in Commit. Questo crea un nuovo commit di "annullamento" — nulla andrà perduto.
  • Per tornare completamente a uno stato precedente, fai clic con il tasto destro sullo snapshot desiderato e scegli Reset to commit.
Reset to commit riporta il tuo progetto a quello snapshot. Prima effettua il commit o lo stash di tutto ciò che desideri conservare. In caso di dubbio, preferisci Revert Changes in Commit — è l'opzione non distruttiva.

Metti temporaneamente in pausa le tue modifiche — utile per testare un aggiornamento con un ambiente pulito e poi recuperare il tuo lavoro. Fai clic con il tasto destro sull'intestazione Changed files e scegli Stash All Changes. Per recuperarle, seleziona Stashed Changes nella barra laterale e clicca su Restore.

GitHub Desktop mantiene uno stash alla volta — effettuare un nuovo stash sostituisce il precedente. Usalo per brevi deviazioni temporanee e usa i commit per tutto ciò che vuoi conservare.

Consiglio avanzato: fusione automatica degli aggiornamenti del fornitore

Stanco di riapplicare manualmente le tue modifiche alla configurazione dopo ogni aggiornamento? GitHub Desktop può farlo per te utilizzando un three-way merge.

L'idea: tieni un branch con le versioni originali del vendor e un altro con le tue modifiche sopra.

Crea un Vendor Branch

Clicca sul menu a discesa Current Branch in alto, poi su New Branch, e nominalo vendor. Questo branch conterrà solo file del vendor non toccati.

Registra ogni rilascio sul ramo Vendor

Quando viene rilasciata una nuova versione, passa al ramo vendor (menu a discesa Current Branch), estrai i file di rilascio non modificati sopra quelli esistenti, quindi effettua il commit con un riepilogo come Vendor sky_base 1.21.0.

Unisci l'aggiornamento alle tue modifiche

Torna al tuo ramo main (menu a discesa Current Branch). Quindi apri Branch → Merge into current branch…, seleziona vendor e clicca su merge.

GitHub Desktop combina automaticamente le modifiche del vendor con le tue personalizzazioni. Si ferma per chiederti l'intervento solo quando un aggiornamento modifica le stesse identiche righe che hai personalizzato — e mostra una schermata chiara per risolvere quei pochi punti. Ovunque per il resto, entrambi i set di modifiche vengono mantenuti per te.

Questa è la stessa tecnica che i team professionisti usano per tracciare le librerie upstream senza perdere le modifiche locali — e funziona altrettanto bene per il tuo server.


Preferisci la riga di comando?

Se ti senti a tuo agio con il terminale, l'intero flusso di lavoro sopra descritto corrisponde a una manciata di comandi:

# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"

# Each update
git add . && git commit -m "Pre-update snapshot"   # snapshot first
# ...drop in the new release, overwriting files...
git status            # which files changed
git diff --stat       # a compact per-file summary
git diff              # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"

# Rolling back
git restore <file>    # undo changes to one file
git restore .         # undo all uncommitted changes
git log --oneline     # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop   # shelve and restore temporarily

Best Practice

  • Effettua il commit prima di ogni aggiornamento. Uno snapshot richiede due secondi e ne risparmia ore.
  • Scrivi riepiloghi chiari. Update sky_base to 1.21.0 batte stuff quando stai scansionando la cronologia sei mesi dopo.
  • Mantieni i segreti ignorati. Le credenziali non devono mai far parte della cronologia delle versioni.
  • Effettua il commit dopo un avvio pulito, non prima. Etichetta uno snapshot come "buono" solo quando il server è effettivamente avviato.
  • Traccia l'intera tua cartella resources in un unico repository. In questo modo, un singolo rollback può recuperare da un aggiornamento errato per qualsiasi script.
  • Mantienilo locale. Non pubblicare mai risorse con licenza o protette da escrow in un repository pubblico.

Conclusione

Aggiornare un server FiveM non deve più significare congetture, personalizzazioni perse e ricerche frenetiche di backup. Con una configurazione una tantum su GitHub Desktop e una routine di un minuto, puoi vedere ogni modifica apportata da un aggiornamento, mantenere intatte le tue modifiche, e annullare istantaneamente qualsiasi errore — il tutto senza digitare un singolo comando.

La prossima volta che un changelog ti dirà di sostituire una cartella, lo farai con fiducia — perché GitHub Desktop ti mostrerà esattamente cosa è cambiato, ogni singola volta.