ไม่มีชื่อบทความ
ดีมากที่ถาม เพราะหลายโปรเจกต์ก็เจอปัญหานี้เหมือนกัน — กว่าเราจะตั้ง .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 ให้อัตโนมัติไหม?