Generator .gitignore

Berikutnya

.gitignore yang hilang adalah cara API key berakhir di riwayat Git dan cara node_modules 400 MB ter-push ke GitHub. Generator ini menghasilkan template teruji untuk stack Anda, Node, Python, Rails, atau Laravel, dengan folder dependensi, output build, dan file environment yang sudah dikecualikan.

Cara menghasilkan .gitignore

  1. 1

    Pilih stack Anda

    Node, Python, Rails, atau Laravel: masing-masing punya set artefak transien sendiri.

  2. 2

    Hasilkan

    Tool menggabungkan aturan umum (.DS_Store, .env, node_modules) dengan yang spesifik stack.

  3. 3

    Simpan sebagai .gitignore

    Tempatkan file di root repo sebelum commit pertama.

  4. 4

    Commit

    .gitignore sendiri harus dilacak: ia bagian dari proyek, bukan preferensi lokal.

Mengapa blok umum selalu ada

Aturan Alasan diabaikan
.DS_Store Metadata Finder macOS, tak pernah berguna bagi mesin lain
.env Secret: API key, password database, kredensial OAuth
.env.* Varian spesifik environment (staging, production)
!.env.example Tapi pertahankan file contoh agar kontributor baru tahu bentuknya
node_modules/ Dapat diinstal dari package.json; besar dan spesifik platform

Tambahan spesifik stack

Stack Tambahan kunci
Node dist/, coverage/, npm-debug.log*
Python __pycache__/, .venv/, *.pyc, .pytest_cache/
Rails log/*, tmp/*, storage/*, /public/assets
Laravel vendor/, /storage/*.key, /public/build, .phpunit.cache/

Kesalahan umum

  • Meng-commit .env lebih awal, lalu menambahkannya ke .gitignore. File sudah ada di riwayat, gunakan git rm --cached .env dan ganti setiap secret yang ada di dalamnya.
  • Mengabaikan .env.example bersama .env. Rekan setim butuh contoh untuk bootstrap.
  • Glob terlalu luas: *.log bisa menyembunyikan konfigurasi log kritis-produksi; lebih spesifik jika ragu.
  • File spesifik platform yang tidak lokal bagi Anda: kontribusikan via .gitignore bersama, bukan yang pribadi.

Gitignore pribadi vs proyek

Untuk file editor yang unik bagi Anda (IDE JetBrains, Emacs) gunakan gitignore global (~/.config/git/ignore) alih-alih membengkakkan milik tiap proyek.

Pertanyaan yang Sering Diajukan

Karena .gitignore hanya mencegah file yang belum dilacak ditambahkan. Jalankan git rm --cached path/to/file untuk berhenti melacak file yang sudah ter-commit, commit perubahannya, dan aturan lalu akan mengecualikannya.

Tidak, lockfile harus di-commit agar setiap environment menginstal versi yang persis sama. Mengabaikannya memunculkan kembali kelas bug “berfungsi di mesin saya”.

Garis miring di depan menjangkar pola ke root repo. /logs cocok hanya dengan direktori logs/ tingkat atas, sementara logs cocok dengan direktori logs mana pun di kedalaman mana pun.

Tidak. File yang dihasilkan tidak disimpan atau dilacak. Pilihan stack Anda dikirim ke server kami untuk menyusun aturan, dan dalam mode multi-langkah juga dibawa di tautan halaman, tetapi isi file tidak disimpan.

Alat Terkait

Alat ini tersedia dalam bahasa lain