Builder Toolkit · 05 / 11
Gitignore dan Secrets
Tahu apa yang tidak boleh di-commit, setup .gitignore dengan betul, dan pulih dengan selamat kalau key bocor.
Gitignore dan Secrets
Apa ini
Secret ialah apa-apa nilai yang membuktikan anda ialah anda: API key, password database, access token.
.gitignore ialah file teks biasa yang menyenaraikan apa yang Git tidak boleh rekod. Apa sahaja yang dinamakan di dalamnya kekal pada mesin anda.
Satu idea utama
Repository public boleh dibaca sesiapa sahaja, dan Git ingat semuanya. Key yang di-push sekali sudah terdedah walaupun anda padam selepas itu.
Kenapa penting
Scanner automatik memantau commit GitHub public untuk corak key. Key yang bocor boleh dijumpai dalam beberapa minit, bukan beberapa bulan.
Akibatnya nyata: orang lain guna kredit AI anda, baca database anda, atau hantar email sebagai anda. Halaman ini ambil lima minit dan menghalang kesilapan beginner paling mahal dalam seluruh toolkit ini.
Apa nak buat
Tahu apa yang tidak sekali-kali di-commit
| Jangan commit | Kenapa |
|---|---|
.env, .env.local | File ini wujud khusus untuk simpan secrets. |
| API key dan token | Ia membenarkan perbelanjaan dan akses data. |
| Password database | Ia membuka seluruh database anda. |
| Service role key | Ia memintas setiap peraturan akses. |
node_modules | Bukan secret, cuma besar dan boleh dibina semula. |
Setup .gitignore sebelum push pertama
Buat file bernama tepat .gitignore dalam root project. Titik di hadapan itu sebahagian daripada namanya.
node_modules
.env
.env.local
.env.*.local
.DS_StoreKebanyakan project starter, termasuk starter KDBM Lite, sudah sertakan satu. Semak dahulu sebelum tambah sendiri.
Buat sekarang
Run git status dalam project anda. Kalau anda nampak .env, .env.local, atau node_modules dalam senarai, berhenti. Ia belum di-ignore. Betulkan .gitignore sebelum commit.
Check sendiri
Fahami perangkapnya
.gitignore hanya menghalang commit akan datang bagi sesuatu file. Ia tidak buat apa-apa pada file yang Git sudah pun jejak.
Kalau anda tambah .env.local sebelum buat .gitignore, Git terus jejaknya dan abaikan peraturan itu. Hentikan jejakan dengan:
git rm --cached .env.localSwipe sideways if a command is long.
File itu kekal pada komputer anda. Git berhenti merekodnya. Commit perubahan itu, dan push akan datang jadi bersih.
Kalau key sudah di-push
Buat ikut urutan ini. Jangan langkau yang pertama.
- Rotate key itu serta-merta. Pergi ke provider dan jana yang baharu. Nilai lama mesti berhenti berfungsi. Ini sahaja langkah yang betul-betul melindungi anda.
- Kemas kini key itu di semua tempat:
.env.locallocal anda dan setting hosting anda. - Buang file itu daripada jejakan dengan
git rm --cached, kemudian commit dan push. - Anggap nilai lama itu public selama-lamanya.
Padam bukan membaiki
Padam file dalam commit kemudian tidak membuangnya dari sejarah. Sesiapa boleh baca commit terdahulu. Rotate yang menjadikan nilai bocor itu tidak berguna.
Kalau anda tidak pasti sama ada key bocor
Anggap ia bocor dan rotate. Rotate key yang selamat kos dua minit. Tidak rotate key yang bocor boleh kos jauh lebih banyak.
Common mistakes
- Buat
.gitignoreselepas commit pertama, kemudian anggap commit lepas turut dilindungi. - Namakan file
gitignoretanpa titik di hadapan, jadi Git abaikan file tentang mengabaikan file. - Paste key sebenar ke dalam prompt public, screenshot, atau chat kelas.
- Padam key bocor dari repo tetapi tidak pernah rotate.
- Letak service role key dalam frontend code sebab ia hilangkan satu error.
Next step
Secrets anda selamat di local. Sekarang naikkan project ke online dengan Asas Vercel.