เรื่องมันมีอยู่ว่า
ผมลืมสั่ง git push บ่อยมาก แล้วเมื่อวันก่อน git พัง สั่ง commit ไม่ได้
ขี้เกียจ+ไม่มีเวลาซ่อม ต้อง re-clone แล้ว Copy&Paste โค้ดล่าสุด แล้ว commit ใหม่
เลยทำให้คิดได้ว่า ถ้าเกิดมันเลวร้ายกว่านี้ละ (เครื่องหาย, HDD พัง) จะทำยังไง
งั้นก็ต้องกันไว้ดีกว่าแก้ ด้วยการ push ให้บ่อยที่สุด
แล้วถ้าลืมบ่อยๆ ละทำไง?
ใน GIT มีฟังก์ชัน Hooks เอาไว้สั่งให้ทำอะไรซักอย่าง หรือหลายอย่างก็ได้ เมื่อมีเหตุการณ์เกิดขึ้น เช่น
- prepare-commit-msg ตอนเราสั่ง git commit แล้วขึ้นถ้าให้เพิ่มข้อความนั่นแหละ
- post-commit คือเหตุการณ์ที่เกิดขึ้นตอน commit สำเร็จ
นอกจากนี้ยังมี event อื่นๆ อีก เอาไว้จะเขียนยาวๆ อีกที แต่วันนี้จะสั่งให้ git push ทุกครั้งที่สั่ง commit
ง่ายๆเลย ทำตามนี้
- ลอกไฟล์ .git/hooks/post-commit.sample ให้เป็น .git/hooks/post-commit
- แก้ไข .git/hooks/post-commit เพิ่มคำสั่ง git push --all
เท่านี้ก็เรียบร้อย จากนี้เวลาสั่ง git commit ก็จะต่อด้วย git push โดยอัตโนมัติ
ทุ่นแรงไปอีกเรื่องนึง