N

Nokfa Docs

ไม่มีชื่อบทความ

ดีมากที่ถาม เพราะหลายโปรเจกต์ก็เจอปัญหานี้เหมือนกัน — กว่าเราจะตั้ง .gitignore ก็ดัน commit พวก node_modules/, .env, *.log ไปหมดแล้ว 😅

✅ วิธีจัดการเมื่อ .gitignore มาช้าเกินไป:


1. เพิ่ม `.gitignore` ตามที่ควรเป็นก่อน

สร้างหรืออัปเดต .gitignore ให้เรียบร้อยก่อน (เช่นที่เราทำไว้ข้างบน)


2. ลบไฟล์ที่ไม่ควรอยู่ใน Git ออกจาก Git index

แม้ว่า .gitignore จะใส่แล้ว แต่ Git ยังจำว่าเคย track ไฟล์เหล่านั้นไว้ — ต้องลบออกจาก index (ไม่ใช่ลบจากเครื่อง!)

git rm -r --cached .

🔍 คำอธิบาย:

  • --cached = ลบเฉพาะจาก Git index (ไฟล์ยังอยู่ในเครื่อง)
  • . = ทุกไฟล์

3. เพิ่มกลับทุกไฟล์ (เฉพาะที่ไม่ถูก ignore)

git add .

ตอนนี้ Git จะเห็นเฉพาะไฟล์ที่ไม่ถูก ignore แล้ว


4. Commit การเปลี่ยนแปลงนี้

git commit -m "chore: apply new .gitignore rules and cleanup tracked files"

5. (แนะนำ) ผลักการเปลี่ยนแปลงขึ้น remote

git push origin your-branch-name

✨ สรุปเร็ว ๆ:

# ขั้นตอนทำความสะอาด Git index ตาม .gitignore ใหม่
git rm -r --cached .
git add .
git commit -m "chore: apply new .gitignore rules and cleanup tracked files"

ต้องการให้ผมเขียนเป็น script.sh ให้อัตโนมัติไหม?