HeadlinesBriefing favicon HeadlinesBriefing.com

Tiga File Git Abaikan yang Tidak Kamu Ketahui

Hacker News •
×

Saya selama tahunnya membawa file yang tidak terlacak di repositori — catatan markdown, rencana agen — karena menambahkannya ke .gitignore terasa tidak bersih. Kemudian Claude menyarankan penggunaan .git/info/exclude, menunjukkan bahwa git sebenarnya membaca pola pengabaian dari tiga lokasi dengan sintaks yang sama.

Pertama, .gitignore di setiap direktori memengaruhi semua yang mengklon repositori dan di-commit — ideal untuk output build seperti target/ atau __pycache__/. Kedua, .git/info/exclude hanya memengaruhi klon Anda, tidak pernah di-commit, dan berada di dalam .git sehingga aman dari kecelakaan. Sempurna untuk file pribadi sementara. Ketiga, file pengecualian global (default ~/.config/git/ignore) berlaku untuk setiap repositori di mesin Anda — sangat baik untuk kebocoran editor seperti .idea/, .vscode/, .DS_Store.

Penggunaannya sederhana: tambahkan pola langsung. Per repositori: `echo 'plans/' >> .git/info/exclude`. Untuk worktree yang terhubung, gunakan `$(git rev-parse --git-common-dir)/info/exclude`. Secara global: buat ~/.config/git/ignore dan tambahkan pola, atau konfigurasikan jalur khusus dengan `git config --global core.excludesFile ~/.gitignore_global`. Perubahan berlaku segera di `git status` untuk file yang tidak terlacak.

Catatan: Claude Code secara default mengecualikan file yang diabaikan dari @-autocomplete, sehingga plans menghilang dari pemilih setelah ditambahkan ke .git/info/exclude.

Entitas Utama: Perusahaan: Claude, Claude Code | Lokasi: ~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore