Konfigurasi mengatur perilaku Git di level mesin; .gitignore mengatur pandangan Git di level repository — berkas mana yang sengaja tidak pernah dilacak. Chapter ini menyediakan pola siap salin per jenis proyek: pilih grup yang cocok, salin kolom polanya ke .gitignore di root repository, lalu commit berkas itu supaya seluruh tim menerima daftar yang sama (.gitignore ). Sintaks tiap baris dibedah tuntas di Pola .gitignore ; daftar di bawah adalah titik awal yang lazim, bukan paket final — susun dari derau yang benar-benar muncul di proyek kita, karena pola yang tidak dipahami sulit didiagnosis saat ada berkas penting yang “kok tidak muncul”.

Derau Umum Semua Proyek #

Sampah sistem operasi dan berkas sementara — pola pertama yang layak ada di hampir setiap repository.

PolaMenyamarkan
.DS_StoreMetadata folder yang ditaburkan macOS Finder.
Thumbs.dbCache thumbnail Windows Explorer.
*.tmpBerkas sementara editor dan alat.

Python #

Alat Python menaburkan bytecode dan lingkungan virtual yang nilainya nol bagi rekan tim — semuanya lahir ulang di mesin siapa pun yang menjalankan kode atau instalasi dependensi.

PolaMenyamarkan
__pycache__/Direktori bytecode yang dibuat ulang otomatis saat import.
*.pycBerkas bytecode hasil kompilasi.
.venv/Virtual environment pribadi — bukan bagian dari kode.

Node.js #

Pola kelompok ini persis yang didemonstrasikan teori: node_modules/ dipulihkan manajer paket, dist/ dan build/ lahir ulang tiap kali build, .env berisi kredensial lokal (.gitignore ).

PolaMenyamarkan
node_modules/Seluruh dependensi terpasang.
dist/Hasil build siap produksi.
build/Artefak proses build.
.envKredensial lokal — berbahaya bila ter-commit.

Java #

Kelompok Java mengikuti logika yang sama: direktori keluaran build dan hasil kompilasi adalah artefak yang dihasilkan ulang dari sumber, bukan sumber itu sendiri.

PolaMenyamarkan
target/Direktori keluaran build Maven.
*.classBerkas bytecode hasil kompilasi.

IDE dan Editor #

IDE menaburkan berkas konfigurasi yang sebagian pribadi; pengecualian dengan negasi menyelamatkan aturan tim yang memang dibagikan.

PolaMenyamarkan
.idea/Konfigurasi proyek IntelliJ IDEA.
.vscode/Pengaturan workspace VS Code — kecuali berkas tertentu (misal tasks.json) yang dibagikan lewat !.vscode/tasks.json.
*.swpBerkas swap Vim yang hidup selama mengedit.

Log dan Hasil Kerja Lain #

Dua pola penutup menampung sisa derau yang tak terklasifikasi: jejak proses aplikasi dan konfigurasi pribadi per mesin.

PolaMenyamarkan
*.logJejak proses aplikasi di kedalaman mana pun.
/config.localKonfigurasi pribadi per mesin di root repository — jangkar / menjauhkannya dari alat/config.local di subdirektori (Pola .gitignore ).

Aturan Penulisan Pola #

Tata bahasanya ringkas — lima aturan menutup hampir semua kebutuhan, masing-masing dibuktikan nyata di chapter teori.

AturanContohArti
Garis miring di akhirnode_modules/Hanya mencocokkan direktori beserta isinya, bukan berkas bernama sama.
Garis miring di awal/config.localPola berjangkar ke root repository.
Bintang*.logKarakter apa pun sebanyak apa pun, berlaku di semua kedalaman.
Dua bintang**/logsNol atau lebih direktori — menangkap logs di mana pun.
Negasi!penting.logMembatalkan pola sebelumnya; baris paling akhir menang.

Repository yang bersih dari derau siap menerima pekerjaan dengan kualitas yang konsisten — dan kualitas itu sendiri bukan urusan pola, melainkan urusan isi tiap commit. Komponen kualitas berikutnya melekat pada tiap commit yang masuk: pesannya — struktur, larangan, dan prefiksnya dirangkum di Pedoman Commit Message .