.gitignore, Menghapus & Mengganti Nama Berkas
Menjaga berkas rahasia dan sampah build keluar dari repository, serta memakai git rm dan git mv.
Tidak semua berkas pantas masuk Git
Beberapa berkas jangan pernah di-commit:
- Rahasia:
.env, kunci API, password, sertifikat pribadi. Sekali ter-commit dan ter-push, rahasia itu tersebar dan harus dianggap bocor. - Hasil build / dependensi:
node_modules/,vendor/,dist/,__pycache__/. Bisa dibuat ulang dan ukurannya besar. - Berkas log & sementara:
*.log,.DS_Store,Thumbs.db. - Pengaturan editor pribadi:
.idea/,.vscode/(kecuali memang disepakati tim).
Berkas .gitignore
Buat berkas bernama .gitignore di akar repo, berisi pola berkas yang diabaikan Git — satu pola per baris:
# komentar
.env
*.log
node_modules/
dist/
!penting.log # tanda ! = kecualikan (tetap dilacak)
| Pola | Arti |
|---|---|
*.log | Semua berkas berakhiran .log |
node_modules/ | Folder bernama node_modules (garis miring di akhir = folder) |
/config.local | Hanya di akar repo (garis miring di awal) |
docs/**/*.tmp | ** cocok untuk folder bertingkat |
!penting.log | Pengecualian |
.gitignore sendiri di-commit agar seluruh tim memakai aturan yang sama. Situs gitignore.io dan repo github/gitignore menyediakan templat siap pakai per bahasa/framework.
Penting: ignore hanya untuk berkas yang belum dilacak
Jika sebuah berkas sudah pernah di-commit, menambahkannya ke .gitignore tidak membuatnya berhenti dilacak. Berhentikan pelacakan dengan:
git rm --cached .env # hapus dari Git, berkas di folder tetap ada
Kalau rahasia sudah terlanjur ter-push, mengganti kredensialnya adalah langkah wajib; menghapus dari riwayat saja tidak cukup.
git rm: menghapus berkas yang dilacak
git rm lama.txt # hapus dari folder DAN dari Git (langsung staged)
git rm --cached lama.txt # hapus dari Git saja, berkas tetap ada
git rm -r folder/ # hapus folder
Alternatifnya: hapus berkas biasa (rm lama.txt), lalu git add -A. Hasilnya sama; git rm hanya satu langkah.
git mv: mengganti nama / memindahkan
git mv README.md PANDUAN.md
Git tidak menyimpan "rename" secara eksplisit; ia mendeteksi bahwa satu berkas hilang dan berkas dengan isi sama muncul, lalu menampilkannya sebagai renamed: README.md -> PANDUAN.md. git mv setara dengan mv + git add.
Memeriksa apa yang diabaikan
Berkas yang diabaikan tidak muncul di git status. Untuk melihat apa saja yang dilacak: git ls-files.