Se usi git sulla piattaforma Mac, probabilmente ti sei imbattuto in file DS_Store in un repository git. Questi possono essere fastidiosi e ingombrare un repository git e potresti persino incorrere in conflitti non necessari a causa dei file .DS_Store mantenuti nei repository git, dove potresti vedere messaggi di errore come “I file .DS_Store e .DS_Store presentavano un conflitto nell’albero”. Poiché i file .DS_Store non sono necessari alla stragrande maggioranza dei repository git e generalmente possono solo causare problemi, è ragionevole voler rimuovere i file .DS_Store dai repository git.
Innanzitutto, se ti stai chiedendo cosa sia un file DS_Store in primo luogo, è fondamentalmente un file che contiene metadati specifici della cartella su un Mac. Pertanto, un file .DS_Store include qualsiasi cosa, dai metadati sul tipo di visualizzazione, dimensione file/cartella, informazioni sulle miniature, layout delle cartelle e qualsiasi personalizzazione a livello di Finder a una particolare cartella sul Mac. Poiché i file .DS_Store hanno il prefisso . nel nome del file, sono invisibili al Finder (rendendoli effettivamente file nascosti), ma verranno visualizzati nella riga di comando e con strumenti della riga di comando o gestori di repository come git che per impostazione predefinita includeranno ogni singolo file, inclusi i file nascosti, in un elenco.
Sebbene i file .DS_Store siano ovviamente utili per il Finder, non sono utili per averli in un repository git. Esaminiamo come è possibile rimuovere tutti i file DS_Store da un repository git e come impedire che vengano archiviati anche in futuri repository git.
Come rimuovere i file .DS_Store esistenti dal repository Git
Apri il Terminale e vai alla directory del repository git che desideri eliminare dai file .DS_Store
Se desideri andare ancora oltre, puoi effettivamente rimuovere tutti i file DS_Store da un Mac utilizzando un’altra variante del comando trova, ma tieni presente che così facendo perderai tutte le personalizzazioni della finestra e della cartella del Finder, quindi non è particolarmente consigliato segui quella strada.
Come ignorare i file .DS_Store in git
Facciamo ora un ulteriore passo avanti e impediamo a git di mantenere e salvare i file DS_Store in primo luogo, ignorandoli invece completamente. Questo viene fatto modificando (o creando) il file .gitignore nella directory del repository attivo:
echo .DS_Store >> .gitignore
Ora vorrai aggiungere il file .gitignore al tuo repository e confermare la modifica.
git add .gitignore
git commit -m 'Ignoring .DS_Store Files'
–
Per quello che vale, non è solo git che può incorrere in problemi con la creazione o il disordine dei file .DS_Store, o che potrebbe trarre vantaggio dall’ignorarli, puoi anche escludere i file DS_Store dagli archivi zip creati su un Mac, il che può aiutare a ridurre il disordine (e impedire che i metadati specifici della macchina) vengano conservati in un file zip. E potresti scoprire che i file .DS_Store sono odiosi con gli ambienti di rete, ma un comando defaults può impedire la creazione di file DS_Store per i volumi di rete, se necessario.
Imparentato
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.