Bagaimana mengabaikan .DS_Store di semua direktori?

Aturan .DS_Store tanpa / awal mencakup nama itu pada semua kedalaman di bawah .gitignore. Jika perubahan masih terlihat, periksa apakah berkas sudah dilacak.

1. Tambahkan aturan dengan cakupan tepat

Tambahkan baris ini ke .gitignore akar agar aturan dibagikan. /.DS_Store hanya mencakup salinan akar. Untuk preferensi pribadi lintas repositori, gunakan berkas global.

.DS_Store

Mengapa berkas diabaikan oleh aturan Git global?

2. Bedakan berkas diabaikan dan terlacak

Untuk salinan contoh yang tidak terlacak, periksa aturan yang cocok dengan setiap jalur:

git check-ignore -v -- .DS_Store assets/.DS_Store

Lalu periksa apakah jalur tersebut sudah ada dalam indeks. check-ignore biasanya tidak melaporkan berkas terlacak; aturan pengabaian yang cocok tidak menghentikan pelacakannya.

git ls-files -- .DS_Store assets/.DS_Store

3. Hentikan pelacakan satu salinan

Jika assets/.DS_Store sudah dilacak, periksa status dan simpan pekerjaan lokal yang diperlukan, lalu hapus hanya entri indeksnya:

git rm --cached -- assets/.DS_Store

Tinjau penghapusan yang disiapkan sebelum commit. --cached menyimpan salinan lokal Anda, tetapi rekan dapat kehilangan salinan terlacak saat menarik perubahan. Ulangi hanya untuk jalur yang telah diperiksa; hindari penghapusan massal atau membangun ulang seluruh indeks.

git diff --cached --name-status

Bagaimana mengabaikan berkas yang sudah dilacak Git?

Untuk perilaku yang tepat dan rincian lebih lanjut, lihat referensi resmi: Dokumentasi Git · Dokumentasi git rm · Dokumentasi git check-ignore