# Commit

&#x20;         เวลาที่เรามีข้อมูลที่แก้ไขเสร็จแล้ว (หรือโค้ดที่เขียนคำสั่งบางอย่างเสร็จแล้ว) และ**ต้องการ backup เก็บไว้ใน VCS** (Version Control System) นั่นจะเรียกว่า **commit**

&#x20;         ซึ่งการ commit จะสามารถเลือกได้ว่าต้องการ backup ไฟล์ไหนบ้าง และไม่จำเป็นต้องเลือกทุกไฟล์

&#x20;         นอกจากนี้ เรายังสามารถดู History ย้อนหลังได้ว่ามีการแก้ไขอะไรตรงไหนบ้าง ซึ่งนั่นจะทำให้รู้ได้ว่าในแต่ละครั้งที่ commit นั้น  แต่ละไฟล์มีข้อมูลเป็นอย่างไรบ้าง

![แต่ละ Commit จะจำไว้ว่าไฟล์ไหนมีการแก้ไขอะไรบ้าง](https://1572294076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Me05uuZ2Kw6VszdHXnU%2F-MglN80ObgnqSlkGdlKO%2F-MglNpKwpZhLbVL0bARI%2Fimage.png?alt=media\&token=62a5ec7b-7306-4733-9686-bc485137dbd6)

* สีแดง : สิ่งที่ถูกลบ&#x20;
* สีเขียว : สิ่งที่ถูกเพิ่ม

&#x20;         โดยในการ commit แต่ละครั้ง จะต้องใส่ commit message เป็นการอธิบายรายละเอียดของข้อมูลใน commit นั้น ๆ ด้วยว่ามีการเปลี่ยนแปลง เพิ่มเติมหรือปรับปรุงอย่างไร และเน้นเขียนให้กระชับและเข้าใจง่ายเพื่อไม่ให้เกิดความสับสนในภายหลัง

![ตัวอย่างการ Commit บน GitHub Desktop](https://1572294076-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Me05uuZ2Kw6VszdHXnU%2F-MglLR5eR4bSj-el4SM_%2F-MglMqQQjRdBrIjDmewm%2Fimage.png?alt=media\&token=e9fdd439-b4d4-41c4-8064-7f4006929238)
