guide

Mengatur gitignore global (core.excludesFile)

Cara mengatur core.excludesFile agar file dari lingkungan pribadi seperti .DS_Store macOS dan file editor diabaikan di semua repositori, serta jalur bawaannya.

File seperti .DS_Store, Thumbs.db, .idea/workspace.xml, dan *.swp muncul bukan karena proyek, melainkan karena komputer dan editor Anda. gitignore global adalah tempat menulis aturan semacam ini sekali saja, alih-alih mengulangnya di setiap repositori.

Jalur bawaan

Tanpa pengaturan apa pun, git membaca berkas berikut sebagai daftar abaikan global.

Artinya, di sebagian besar lingkungan macOS dan Linux cukup membuat berkas ~/.config/git/ignore.

mkdir -p ~/.config/git
printf '.DS_Store\n*.swp\n.idea/workspace.xml\n' >> ~/.config/git/ignore

Memakai berkas lain: core.excludesFile

Untuk memakai berkas di jalur pilihan Anda, atur core.excludesFile. Setelah diatur, git membaca berkas itu sebagai ganti jalur bawaan.

# macOS / Linux
git config --global core.excludesFile ~/.gitignore_global

# Windows (PowerShell)
git config --global core.excludesFile "$env:USERPROFILE\.gitignore_global"

Periksa pengaturannya dengan perintah berikut.

git config --global --get core.excludesFile

Jika tidak ada keluaran, nilainya belum diatur dan jalur bawaan di atas yang dipakai.

Apa yang cocok ditaruh di global

Yang cocok untuk global adalah file pribadi yang muncul dengan cara sama di proyek apa pun.

JenisContohTemplate yang disarankan
Sistem operasi.DS_Store, ._*, Thumbs.db, desktop.ini, *~macOS, Windows, Linux
Status pribadi editor/IDE*.swp, .idea/workspace.xml, file pribadi di .vscode/*Vim, JetBrains, VisualStudioCode
Alat pribadi.envrc (direnv), folder catatan pribaditulis sendiri

Jika Anda hanya memilih template seperti macOS dan JetBrains di generator lalu menyalin hasilnya, hasil itu bisa langsung dipakai sebagai isi berkas global.

Sebaliknya, hasil build, folder dependensi, dan file rahasia ditaruh di .gitignore proyek, bukan di global, karena aturan ini harus berlaku bagi setiap orang yang meng-clone repositori.

Batasan menaruhnya di global

gitignore global hanya berlaku di komputer Anda. Jika rekan tim belum mengatur global, .DS_Store miliknya tetap bisa ter-commit. Karena itu repositori template GitHub pun menyarankan dua cara sekaligus: menaruh template Global di berkas global atau menggabungkannya ke template proyek.

Dalam praktik, kriteria berikut cukup aman.

Prioritas

Berkas global memiliki prioritas terendah di antara empat sumber aturan. Meskipun global mengabaikan *.log, jika .gitignore proyek berisi !keep.log, aturan proyek yang menang. Jika ragu aturan mana yang berlaku, jalankan git check-ignore -v <jalur>. Jika jalur berkas global muncul di awal keluaran, aturan global yang menentukan.

Referensi

← SebelumnyaPrioritas gitignore dan pola negasi (!)