Git เป็นหนึ่งในเครื่องมือจัดการเวอร์ชันที่นักพัฒนาโปรแกรมทั่วโลกนิยมใช้กันมากที่สุดในปัจจุบัน โดยเฉพาะการทำงานในโครงการโปรเจกต์ขนาดใหญ่ ซึ่งต้องมีการทำงานร่วมกันกับทีมงาน หรือแม้แต่การทำงานคนเดียวที่ต้องจัดการกับความซับซ้อนของการเปลี่ยนแปลงไฟล์ต่าง ๆ Git มาเป็นตัวช่วยสำคัญในการบริหารจัดการและติดตามการเปลี่ยนแปลงของโค้ด
เมื่อใช้ Git คุณสามารถย้อนกลับการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์ได้หลายวิธี ขึ้นอยู่กับลักษณะและสถานการณ์ของการเปลี่ยนแปลงแต่ละประเภท โดยทั่วไปแล้ว เราสามารถย้อนกลับการเปลี่ยนแปลงได้ทั้งในกรณีที่ยังไม่และที่ได้ทำการ commit ไปแล้ว
บ่อยครั้งที่นักพัฒนาอาจจะทำการเปลี่ยนแปลงโค้ดในไฟล์ แต่ตระหนักได้ทีหลังว่าการเปลี่ยนแปลงนั้นไม่ถูกต้อง หรือไม่ต้องการแล้ว ในกรณีนี้ Git มีคำสั่งสำหรับการรีเซ็ตไฟล์ให้กลับไปยังสถานะที่ยังไม่เคยถูกเปลี่ยนแปลงใน work tree ได้ดังนี้:
ใช้คำสั่ง `git checkout`
คำสั่ง `git checkout` เป็นวิธีง่าย ๆ ในการย้อนกลับการเปลี่ยนแปลงในไฟล์ที่ยังไม่ commit ดังตัวอย่างด้านล่าง:
git checkout -- ชื่อไฟล์
คำสั่งนี้จะทำให้ไฟล์ที่ระบุถูกรีเซ็ตกลับไปยังสถานะที่ล่าสุดใน `HEAD` ของ branch ปัจจุบัน
ใช้คำสั่ง `git restore`
เริ่มตั้งแต่ Git เวอร์ชัน 2.23 เป็นต้นมา ได้เพิ่มคำสั่งใหม่คือ `git restore` ซึ่งถูกออกแบบมาเพื่อความชัดเจนและง่ายในการใช้งาน เพื่อรีเซ็ตไฟล์ สามารถใช้ดังนี้:
git restore ชื่อไฟล์
บางครั้งการเปลี่ยนแปลงที่ไม่ต้องการนั้นอาจจะได้ผ่านขั้นตอนของการ commit ไปยัง branch แล้ว กรณีนี้ก็ยังสามารถแก้ไขได้ด้วยวิธีการต่าง ๆ ดังนี้:
ใช้คำสั่ง `git revert`
คำสั่ง `git revert` จะสร้าง commit ใหม่ที่เป็นการกลับกันกับการเปลี่ยนแปลงใน commit ที่ต้องการย้อนกลับ:
git revert ชื่อcommit
การใช้วิธีนี้จะเหมาะสมกับกรณีที่เราได้ทำ push การเปลี่ยนแปลงนั้นไปยัง remote repository แล้ว เพราะเป็นการรักษาประวัติของ commit ทั้งหมดได้ครบถ้วน
ใช้คำสั่ง `git reset`
หากการเปลี่ยนแปลงนั้นยังไม่ได้ถูก push ไปยัง remote repository และเรามั่นใจว่าไม่มีใครใช้งาน commit นั้น การใช้ `git reset` เพื่อย้อนสถานะของ branch เป็นอีกตัวเลือกหนึ่ง:
git reset --hard ชื่อcommitก่อนหน้า
การใช้คำสั่งนี้จะย้อนประวัติไปยังจุดที่ระบุ และทำให้การเปลี่ยนแปลงตั้งแต่ commit นั้นถูกลบออกไป
สมมติคุณทำงานในโครงการซึ่งมีหลาย ๆ ไฟล์ที่กำลังพัฒนา และเมื่อคุณเริ่มทดสอบฟังก์ชันใหม่คุณพบว่ามันมีบั๊กเกิดขึ้น และต้องการย้อนกลับการเปลี่ยนแปลงดังต่อไปนี้:
1. คุณเปลี่ยนไฟล์ `app.js` โดยไม่ตั้งใจ
2. คุณได้ commit การเปลี่ยนแปลงที่ไม่ต้องการไปใน branch `develop`
การย้อนกลับไฟล์ `app.js`
คุณสามารถใช้ `git restore` เพื่อย้อนกลับไฟล์:
git restore app.js
การย้อนกลับ commit ใน `develop`
หากต้องการรักษาประวัติในขณะที่ต้องการให้การเปลี่ยนแปลงกลับคืน คุณควรใช้:
git revert commit_id
การจัดการและการย้อนกลับการเปลี่ยนแปลงใน Git เป็นสิ่งที่มีความสำคัญและจำเป็นสำหรับนักพัฒนาเพื่อรักษาคุณภาพของโค้ดและจัดการกับข้อผิดพลาดที่เกิดขึ้นอย่างมีประสิทธิภาพ การทำความเข้าใจกับคำสั่งพื้นฐานเหล่านี้จะช่วยให้การทำงานของคุณสามารถดำเนินไปได้อย่างลื่นไหล ไม่ว่าคุณจะทำงานคนเดียวหรือมีทีมงาน การศึกษาเพิ่มเติมเกี่ยวกับ Git ย่อมจะเป็นประโยชน์ไม่ว่าคุณจะอยู่ในระดับใดก็ตาม
หากคุณสนใจที่จะพัฒนาทักษะการเขียนโปรแกรมเพิ่มเติมรวมถึงการใช้เครื่องมืออย่าง Git สามารถพิจารณาศึกษากับ EPT ซึ่งเรามีหลักสูตรครอบคลุมถึงความรู้ที่จำเป็นและทักษะที่สำคัญต่อการเป็นนักพัฒนามืออาชีพ
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: java c# vb.net python c c++ machine_learning web database oop cloud aws ios android
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM