Connect with us

Apple

Come rimuovere i file DS_Store dal repository Git


Rimuovi i file DS_Store da git

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

  1. Apri il Terminale e vai alla directory del repository git che desideri eliminare dai file .DS_Store
  2. Immettere la seguente stringa di comando:
  3. find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch

Questo troverà i file .DS_Store e li rimuoverà.

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.




Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
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.
Close Popup
Privacy Settings saved!
Impostazioni

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.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi