Gitignore dan Secrets
Station 5 / 11
ENFeedback

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 commitKenapa
.env, .env.localFile ini wujud khusus untuk simpan secrets.
API key dan tokenIa membenarkan perbelanjaan dan akses data.
Password databaseIa membuka seluruh database anda.
Service role keyIa memintas setiap peraturan akses.
node_modulesBukan 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.

Copy
node_modules
.env
.env.local
.env.*.local
.DS_Store

Kebanyakan 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:

Terminal command
git rm --cached .env.local

Swipe 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.

  1. 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.
  2. Kemas kini key itu di semua tempat: .env.local local anda dan setting hosting anda.
  3. Buang file itu daripada jejakan dengan git rm --cached, kemudian commit dan push.
  4. 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 .gitignore selepas commit pertama, kemudian anggap commit lepas turut dilindungi.
  • Namakan file gitignore tanpa 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.