.DS_Store adalah file metadata yang otomatis dibuat Finder macOS untuk menyimpan pengaturan tampilan folder, posisi ikon, dan sejenisnya. File ini tidak perlu masuk ke Git.
Solusi paling aman adalah mengabaikannya lewat .gitignore.
Untuk satu project saja
Di root project, buat atau edit file .gitignore:
.DS_Store
**/.DS_Store
Lalu hapus .DS_Store yang sudah terlanjur muncul:
find . -name ".DS_Store" -delete
Jika file tersebut sudah pernah masuk Git staging atau sudah ter-commit, jalankan:
git rm --cached .DS_Store
Jika .DS_Store tersebar di beberapa subfolder:
find . -name ".DS_Store" -print0 | xargs -0 git rm --cached --ignore-unmatch
Setelah itu commit perubahan:
git add .gitignore
git commit -m "Ignore macOS .DS_Store files"
Supaya berlaku untuk semua project Git
Lebih praktis membuat global .gitignore:
touch ~/.gitignore_global
echo ".DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
Cek konfigurasi:
git config --global core.excludesfile
Output-nya seharusnya:
/Users/nama-user/.gitignore_global
Dengan ini, .DS_Store otomatis diabaikan di seluruh repository Git pada Mac kamu.
Bersihkan semua .DS_Store di folder project
Dari root project:
find . -name ".DS_Store" -delete
Atau dari folder home untuk membersihkan banyak folder sekaligus:
find ~ -name ".DS_Store" -delete
Hati-hati dengan perintah kedua karena cakupannya cukup luas.
Apakah bisa mencegah Finder membuat .DS_Store?
Untuk folder lokal, Finder tetap dapat membuat file tersebut. Biasanya cukup gunakan global .gitignore.
Untuk mencegah .DS_Store dibuat pada network drive dan USB drive:
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true
killall Finder
Rekomendasi utamanya: gunakan global .gitignore, lalu hapus .DS_Store yang sudah terlanjur masuk repository.

No comments:
Post a Comment