Git non è solo un .gitignore (e la tua salute mentale ringrazierà)

Git non è solo un .gitignore (e la tua salute mentale ringrazierà)

Se la tua cronologia di Git somiglia a un museo di file temporanei, log spazzatura e configurazioni personali che non dovrebbero mai vedere la luce di un commit, non sei solo. Siamo tutti sulla stessa barca (o meglio, nello stesso container Docker mal configurato).

Per anni abbiamo agito come se il file .gitignore fosse l’unica linea di difesa tra noi e il disastro. Ma la verità è che Git offre delle scorciatoie molto più eleganti per ignorare tutto ciò che è inutile, senza dover sporcare il repository con regole che valgono solo sulla tua macchina. È un po’ come quando in un film sci-fi il protagonista trova un comando segreto per bypassare la sicurezza del mainframe senza lasciare tracce nel log.

Il primo livello, quello che conosciamo tutti, è il classico .gitignore. È il colpo pesante, quello che viene pushato nel repo e che tutti vedono. Va bene per i file che *tutti* devono ignorare, tipo la cartella ‘node_modules’ o i file di build. Ma se devi ignorare quel tuo file ‘appunti_segreti_e_piani_per_la_conquista_del_mondo.txt’ che usi solo tu per gestire il tuo workflow, metterlo nel .gitignore è un suicidio professionale.

Qui entra in gioco il secondo livello: .git/info/exclude. Questo file vive dentro la cartella .git del tuo repository locale e, la cosa fondamentale, non viene mai pushato. È il posto perfetto per le tue personalizzazioni ‘sporche’ che restano confinate solo al tuo progetto, senza infastidire i tuoi colleghi o contaminare la repo ufficiale. È il rifugio sicuro per chi vuole customizzare il proprio ambiente senza lasciare impronte digitali nel codice condiviso.

E se proprio vuoi fare il pro e pulire l’intera tua workstation, esiste il terzo livello: il file di ignore globale. Se usi macOS, ad esempio, puoi dire a Git di ignorare per sempre i fastidiosi .DS_Store in ogni singolo progetto che toccherai, senza dover scrivere una riga di codice in ogni repo. Basta configurare un file in ~/.config/git/ignore (o dove preferisci) e Git lo applicherà come un filtro universale su tutta la tua macchina.

La parte più divertente? Se un giorno ti svegli nel caos e non capisci più perché un file non viene tracciato, esiste il comando ‘git check-ignore -v’. Ti dice esattamente quale file, in quale riga e in quale percorso sta facendo da guardiano. Niente più misteri degni di un episodio di Black Mirror.

In un mondo dove tutto cerca di essere tracciato, monitorato e analizzato, imparare a usare questi livelli di esclusione è un piccolo atto di resistenza tecnica. Meno rumore nel repo, meno fuffa nei commit, più focus sul codice che conta davvero.

Source: .gitignore Isn't the only way to ignore files in Git

Lascia un commento