Satu file .gitignore untuk seluruh stack Anda
Generator .gitignore ini menggabungkan template siap pakai untuk bahasa pemrograman, framework, build tool, editor, dan sistem operasi ke dalam satu file tunggal. Pilih Node dan Next.js, tambahkan macOS, Windows, dan VS Code, dan Anda mendapatkan satu .gitignore dengan bagian yang rapi, tanpa pola duplikat, dan ruang untuk aturan khusus Anda. Template ini diringkas dari repositori github/gitignore resmi, dan semuanya disusun langsung di browser Anda.
Cara membuat file .gitignore
- 1Ketik bahasa, framework, editor, atau OS di kotak pencarian —
python,unity,jetbrains— lalu klik chip untuk menambahkannya. Tekan Enter untuk memilih hasil pertama. - 2Gabungkan sebanyak mungkin template sesuai kebutuhan proyek Anda. Proyek web umum biasanya menggabungkan bahasa, framework, editor kode, dan sistem operasi.
- 3Tambahkan path khusus proyek di bagian Baris kustom, seperti
/uploads/atau*.sqlite. - 4Salin hasilnya atau klik Unduh sebagai file
.gitignoredan letakkan di root repositori Git Anda.
Fungsi file .gitignore
File .gitignore mencatat file dan folder yang tidak boleh dilacak oleh Git: dependensi yang dapat diunduh ulang oleh manajer paket (node_modules/, vendor/), output build (dist/, target/), cache, log, pengaturan editor, serta file rahasia seperti .env. Mengabaikannya menjaga ukuran repositori tetap kecil, diff mudah dibaca, dan mencegah kebocoran kredensial.
File ini hanya memengaruhi file yang belum terlacak (untracked). Jika suatu file sudah pernah di-commit, menambahkannya ke .gitignore tidak akan menghapusnya dari Git; jalankan git rm --cached <file> (atau git rm -r --cached <dir>) lalu commit untuk berhenti melacaknya tanpa menghapus file lokal.
Sintaks pola .gitignore
Urutan pola sangat penting: aturan terakhir yang cocok adalah yang menang. Itulah mengapa pengecualian seperti !.vscode/settings.json harus diletakkan setelah pola umum .vscode/*.
- *.log
- Pola tanpa garis miring cocok di tingkat direktori mana pun: mengabaikan setiap file .log di seluruh repositori.
- /build
- Garis miring di awal mengunci pola ke direktori tempat .gitignore berada, sehingga hanya folder build di root yang diabaikan.
- dist/
- Garis miring di akhir hanya cocok dengan direktori, bukan file bernama dist.
- **/temp
- Dua tanda bintang cocok dengan direktori di kedalaman mana pun: folder temp di root atau di dalam subfolder apa pun.
- !.env.example
- Tanda seru di awal memasukkan kembali file yang sebelumnya diabaikan oleh aturan di atasnya. Tidak bisa memasukkan kembali file jika direktori induknya sudah diabaikan.
- # komentar
- Baris yang diawali dengan # adalah komentar; baris kosong berfungsi sebagai pemisah. Beri backslash sebelum # atau ! jika ingin mencocokkan karakter tersebut secara harfiah.
Bagaimana template digabungkan
Setiap template menjadi satu bagian berlabel ### Nama ###. Saat opsi Hapus pola duplikat aktif, pola yang sudah muncul di bagian sebelumnya akan dihapus dari bagian berikutnya, dan blok komentar yang isinya kosong akan ikut dibersihkan agar file tetap ringkas. Pola pengecualian (negasi) tetap dipertahankan di posisinya agar logikanya tidak berubah.
Template untuk build tool dan framework sering kali tumpang tindih — Node, Next.js, dan Vite sama-sama mengabaikan node_modules dan file log — sehingga pembersihan duplikat biasanya memangkas seperlima atau lebih baris file.
File ignore proyek, global, dan lokal
Commit file .gitignore proyek agar dibagikan ke seluruh anggota tim, dan batasi isinya hanya untuk file yang dihasilkan oleh proyek itu sendiri. File yang hanya dibuat oleh komputer pribadi Anda — .DS_Store, Thumbs.db, folder editor — sebaiknya dimasukkan ke gitignore global via git config --global core.excludesFile ~/.gitignore_global. Untuk aturan pribadi pada satu repositori tertentu, gunakan .git/info/exclude yang tidak pernah di-commit.
Lockfile seperti package-lock.json, poetry.lock, dan Cargo.lock untuk aplikasi harus di-commit, bukan diabaikan, agar dependensi selalu identik. Untuk memeriksa aturan mana yang mengabaikan suatu file, jalankan git check-ignore -v path/ke/file.
Jauhkan file rahasia dari Git
Template Env & secrets mengabaikan file .env, private key, dan file kredensial umum sambil tetap mempertahankan .env.example sebagai dokumentasi. Mengabaikan file rahasia hanya mencegah commit di masa depan: jika kunci sudah pernah terunggah, segera rotasi karena kunci tersebut tetap ada di riwayat Git. Alat terkait: kalkulator chmod untuk izin file dan generator robots.txt untuk izin crawler web.
Pertanyaan yang sering diajukan
- Di mana saya harus meletakkan file .gitignore?
- Di root repositori Anda, sejajar dengan folder .git. Anda juga dapat menambahkan file .gitignore di subdirektori; aturannya akan berlaku relatif terhadap subdirektori tersebut.
- Mengapa file masih dilacak setelah ditambahkan ke .gitignore?
- .gitignore hanya berlaku untuk file yang belum pernah dilacak. Jalankan git rm --cached <file> (atau git rm -r --cached <folder>) lalu commit; Git akan berhenti melacaknya tanpa menghapus file di komputer Anda.
- Haruskah saya mengabaikan package-lock.json atau yarn.lock?
- Tidak, untuk aplikasi. Lockfile mengunci versi dependensi yang tepat agar instalasi selalu identik, dan wajib di-commit. Hanya abaikan lockfile milik manajer paket yang tidak digunakan proyek Anda.
- Apakah folder .vscode atau .idea harus dimasukkan ke .gitignore?
- Biasanya hanya bagian pengaturan pribadi. Template VS Code mengabaikan .vscode/* tetapi tetap mempertahankan settings.json, tasks.json, launch.json, dan extensions.json bersama; sedangkan template JetBrains mengabaikan seluruh folder .idea.
- Bagaimana cara mengabaikan .DS_Store di semua proyek?
- Tambahkan ke file ignore global: buat file ~/.gitignore_global berisi .DS_Store lalu jalankan git config --global core.excludesFile ~/.gitignore_global.
- Bagaimana cara mengabaikan semua file dalam folder kecuali satu file?
- Abaikan isi foldernya, bukan foldernya langsung, lalu gunakan negasi untuk file tersebut: folder/* diikuti oleh !folder/keep.txt. Pola folder/ akan mengabaikan seluruh direktori dan isinya tidak bisa dimasukkan kembali.
- Dari mana asal template ini?
- Template ini diringkas dari repositori resmi github/gitignore di bawah lisensi CC0, dengan entri usang yang telah dibersihkan. Tinjau kembali hasilnya sesuai kebutuhan unik repositori Anda.