Jos käytät gitiä Mac-alustalla, olet todennäköisesti törmännyt DS_Store-tiedostoihin git-arkistossa. Nämä voivat olla ärsyttäviä ja sotkea git-varastoa, ja saatat jopa joutua tarpeettomiin ristiriitoihin, koska.DS_Store-tiedostoja ylläpidetään git-varastoissa, jolloin saatat nähdä virheilmoituksia, kuten”Tiedostoilla.DS_Store ja.DS_Store oli puuristiriita”. Koska suurin osa git-tietovarastoista ei tarvitse.DS_Store-tiedostoja ja ne voivat yleensä vain aiheuttaa ongelmia, on järkevää poistaa.DS_Store-tiedostot git-tietovarastoista.
Ensinnäkin, jos mietit, mikä DS_Store-tiedosto ylipäätään on, se on periaatteessa tiedosto, joka sisältää kansiokohtaisia metatietoja Macissa. Siten.DS_Store-tiedosto sisältää kaiken metatiedoista näkymän tyypistä, tiedoston/kansion koosta, pikkukuvatiedoista, kansion asettelusta ja kaikista Finder-tason mukautuksista tiettyyn Mac-kansioon. Koska.DS_Store-tiedostojen etuliitteenä on. tiedostonimessä ne ovat näkymättömiä Finderille (tehden niistä käytännössä piilotettuja tiedostoja), mutta ne näkyvät komentorivillä ja komentorivityökaluilla tai tietovaraston hallintaohjelmilla, kuten git, jotka sisällyttävät oletuksena kaikki yksittäiset tiedostot, mukaan lukien piilotetut tiedostot. hakemisto.
Vaikka.DS_Store-tiedostot ovat tietysti hyödyllisiä Finderille, ne eivät ole hyödyllisiä git-arkistossa. Katsotaanpa, kuinka voit poistaa kaikki DS_Store-tiedostot git-varastosta ja kuinka estää niiden tallentaminen myös tuleviin git-tietovarastoihin.
Olemassa olevien.DS_Store-tiedostojen poistaminen Git-varastosta
Avaa pääte ja siirry git-repo-hakemistoon, jonka haluat poistaa.DS_Store-tiedostoista. Kirjoita seuraava komentomerkkijono:
find.-nimi.DS_Store-print0 | xargs-0 git rm-f–ignore-unmatch
Tämä löytää.DS_Store-tiedostot ja poistaa ne.
Jos haluat mennä vielä pidemmälle, voit itse asiassa poistaa kaikki DS_Store tiedostot Macista käyttämällä toista find-komennon muunnelmaa, mutta muista, että menetät kaikki Finderin ikkunoiden ja kansioiden mukautukset, joten tätä reittiä ei erityisen suositella.
.DS_Store-tiedostojen ohittaminen gitissä
Mennään nyt askel pidemmälle ja estetään gitiä ylläpitämästä ja sitomasta DS_Store-tiedostoja, vaan ohitetaan ne kokonaan. Tämä tehdään muokkaamalla (tai luomalla).gitignore-tiedosto aktiivisessa säilytyshakemistossa:
echo.DS_Store >>.gitignore
Nyt haluat lisätä.gitignore-tiedoston tiedosto arkistoon ja hyväksy muutos.
git add.gitignore
git commit-m’Ohitetaan.DS_Store-tiedostot’
–
Jos se on sen arvoista,.DS_Store-tiedostojen luomiseen tai sotkumiseen liittyviin ongelmiin ei voi sattua vain git tai joka voi hyötyä niiden huomiotta jättämisestä, vaan voit myös sulkea pois DS_Store-tiedostoja Macilla luoduista zip-arkistoista, mikä voi auttaa. vähentää sotkua (ja estää konekohtaisten metatietojen säilyttämisen zip-tiedostossa). Ja saatat huomata, että.DS_Store-tiedostot ovat vastenmielisiä verkkoympäristöissä, mutta oletuskomento voi tarvittaessa estää DS_Store-tiedoston luomisen verkkolevyille.