เผลอ commit ไฟล์ config ขึ้น Git ทำไงดี!?!

เชื่อว่ามือใหม่อย่างเราๆคงเคยเจอสถานการณ์ที่ว่า ลืมตั้งค่าให้ git มัน ignore ไฟล์ config ที่สำคัญๆต่างๆ (เช่น config ของ firebase ในไฟล์ environment.ts) ทำให้เผลอ commit มันขึ้นไปโดยไม่ได้ตั้งใจ

ไม่ต้องตกใจ เรามีทางออก!!!

 

*ในกรณีนี้เข้าใจว่าต้องยังไม่ push ขึ้น git เท่านั้น

**คำสั่งชุดนี้เสมือนการลบไฟล์ออกจาก git โดยเมื่อเรารันคำสั่งนี้แล้ว ไฟล์ที่เรารันด้วยคำสั่งด้านล่างจะหายไปจาก git ทันที (แต่ history กับไฟล์บน local ยังอยู่นะ) ก็อาจจะต้อง add ไฟล์ขึ้นบน git ใหม่อีกรอบ (ถ้าต้องการ)

 

มาดูกันว่าเราต้องทำอะไรบ้าง

  1. เปิด Git Bash ขึ้นมา
  2. cd ไปยังโฟลเดอร์ของไฟล์ที่คุณต้องการ undo commit
  3. รันคำสั่ง

git rm –cached giant_file // แทนที่คำว่า giant_file ด้วยชื่อไฟล์ เช่น environment.ts

git commit –amend -CHEAD // แก้ไข commit ล่าสุด

git push // push โลดดด

 

เพียงเท่านี้ ไฟล์ที่ถูกคำสั่ง rm –cached ก็จะไม่ถูก push ขึ้นไปในรอบนั้นๆแล้ว สบายใจได้ ^ ^

 

Source: Removing files from a repository’s history

Leave a comment