20 การใช้คำสั่ง Git ที่ Developer ควรรู้ไว้
01-พ.ย.-24
คัมภีร์เทพ IT
Developers ส่วนใหญ่มักใช้ Git กันแทบทุกวัน แต่หลายคนอาจรู้เพียงแค่พื้นฐานเท่านั้น ทั้งที่จริงแล้ว Git สามารถทำอะไรได้มากกว่านั้น การเรียนรู้ทริคเล็ก ๆ น้อย ๆ ของคำสั่ง Git ผ่าน Command Line อาจเปลี่ยนประสบการณ์การทำงานของคุณได้โดยสิ้นเชิง และบทความนี้ก็เป็น 20 การใช้คำสั่ง Git ที่ Developer ควรรู้ไว้
1. Interactive Add
คำสั่งนี้จะช่วยให้คุณเลือก Stage เฉพาะบางส่วนของ File แทนที่จะต้องเพิ่มทั้ง File มันเหมาะอย่างยิ่งในกรณีที่คุณต้องการ Commit การเปลี่ยนแปลงแค่บางส่วน โดยปล่อยส่วนที่เหลือไว้ทำทีหลัง
วิธีใช้:
ข้อดี:
คุณสามารถควบคุมสิ่งที่ต้องการ Commit ได้ละเอียดยิ่งขึ้น ทำให้สามารถ Commit ได้เฉพาะเจาะจงมากขึ้น
เคล็ดลับ:
ใช้คำสั่งนี้กรณีที่คุณทำหลาย Features ใน File เดียว แต่แยก Commit แต่ละส่วนออกจากกัน
2. Undo การ Commit ล่าสุด
ถ้าคุณเพิ่ง Commit แล้วเกิดพลาดขึ้นมา ก็ไม่ต้องกังวลไป เพราะคำสั่งนี้จะช่วยให้คุณสามารถ Undo การ Commit ล่าสุดได้ แต่ยังคงเก็บการเปลี่ยนแปลงไว้ใน Working Directory ทำให้สามารถแก้ไขและ Commit ใหม่ได้ง่าย
วิธีใช้:
ข้อดี:
มันเหมือนเครื่องย้อนเวลา เพราะไม่ต้องสุญเสียงานที่คุณทำไป คุณเพียงแค่แก้ไขแล้ว Commit ใหม่
เคล็ดลับ:
ใช้ --soft ถ้าต้องการเก็บการเปลี่ยนแปลงไว้ หรือ --hard ถ้าต้องการ Undo ทุกอย่างรวมถึงการเปลี่ยนแปลงในเครื่องของคุณด้วย
3. ตรวจสอบ Upstream Status ของ Branch ของคุณ
คำสั่งนี้จะ Fetch Updates จาก Remote และลบ Branch ที่ถูกลบจาก Remote ออกจากเครื่องของคุณ
วิธีใช้:
ข้อดี:
มันช่วยให้ Environment ในเครื่องยังคง Clean และ Update อยู่เสมอ โดยที่ไม่ต้องลบ Branch เก่าด้วยตัวเอง
เคล็ดลับ:
Run คำสั่งนี้เป็นประจำ เพื่อลดความยุ่งเหยิงใน Branch List โดยเฉพาะเมื่อต้องทำงานเป็นทีมใหญ่
4. แก้ไข Commit อย่างรวดเร็ว
คุณเคยลืมเพิ่ม File หรือเคยพิมพ์ผิดใน Commit Message บ้างหรือไม่ git commit --amend จะช่วยให้คุณสามารถ แก้ไข Commit ล่าสุดได้โดยที่ไม่ต้องสร้าง Commit ใหม่
วิธีใช้:
ข้อดี:
คุณสามารถแก้ไขข้อผิดพลาดได้ทันที โดยที่ไม่ทำให้ Commit History ดูยุ่งเหยิง
เคล็ดลับ:
มันเหมาะสำหรับการแก้ไขข้อผิดพลาดเล็ก ๆ น้อย ๆ โดยที่ไม่ทำให้ Git Log ของคุณเต็มไปด้วย Commit ที่ไม่จำเป็น
5. เก็บงานไว้ชั่วคราว
หากต้องเปลี่ยน Branch แต่ไม่อยากเสียการเปลี่ยนแปลงปัจจุบันไป คุณสามารถใช้คำสั่ง Stash เพื่อเก็บงานไว้ชั่วคราวโดยไม่ต้อง Commit ซึ่งทำให้คุณกลับมาทำงานต่อในภายหลังได้
วิธีใช้:
ข้อดี:
มันเหมือนการกด “หยุดชั่วคราว” โดยไม่ทำให้ Commit History ของคุณดูยุ่งเหยิง
เคล็ดลับ:
ใช้ git stash save "description" เพื่อเพิ่มคำอธิบาย ซึ่งจะทำให้คุณสามารถระบุถึงงานที่ถูกเก็บไว้ได้ในภายหลัง
6. ดึงงานที่ถูกเก็บไว้ชั่วคราวออกมา
เมื่อคุณพร้อมในการกลับไปทำงานที่ถูกเก็บไว้ชั่วคราว คุณสามารถใช้คำสั่งนี้เพื่อดึงงานนั้น กลับมายัง Working Directory ได้
วิธีใช้:
ข้อดี:
มันจะคืนค่าการเปลี่ยนแปลงของคุณ และลบออกจาก Stash เพื่อทำให้ทุกอย่างเป็นระเบียบ
เคล็ดลับ:
คุณสามารถใช้คำสั่ง git stash apply หากต้องการดึงงานมาใช้ แต่ยังคงเก็บงานนั้นไว้ใน Stash
7. Cherry-Picking Commits
หากคุณเคยต้องการ Commit บางอย่างจาก Branch อื่น คำสั่งนี้จะช่วยให้คุณนำ Commit นั้นมาใช้ได้โดยที่ไม่ต้อง Merge ทั้ง Branch
วิธีใช้:
ข้อดี:
ให้ความยืดหยุ่นในการนำ Features หรือการแก้ไขบางอย่างมาใช้ โดยที่ไม่ต้อง Merge ทุกการเปลี่ยนแปลง
เคล็ดลับ:
มันเหมาะสำหรับดึงการแก้ Bug หรือ Features เล็ก ๆ จาก Branch อื่น
8. ล้าง Branch ในเครื่อง
เมื่อคุณทำงานทุกอย่างเสร็จแล้ว ก็ควรลบ Branch ที่ไม่ได้ใช้ เพื่อไม่ให้มันดูรกและยุ่งเหยิง
วิธีใช้:
ข้อดี:
มันช่วยให้คุณ Focus กับงานที่สำคัญได้ โดยที่ไม่มีสิ่งรบกวน
เคล็ดลับ:
คุณสามารถใช้ git branch -D <branch-name> หากต้องการลบ Branch ที่ยังไม่ได้ถูก Merge
9. การดู File History
คุณสามารถ Track ความเป็นไปของ File ด้วย git log -- <file> เพื่อดู Commit ทั้งหมดที่ส่งผลต่อ File นั้น
วิธีใช้:
ข้อดี:
มันมีประโยชน์ในการเข้าใจว่า ทำไมถึงมีการเปลี่ยนแปลงบางอย่างขึ้น โดยเฉพาะใน Projects ที่ทำงานร่วมกัน
เคล็ดลับ:
เพิ่ม --stat เพื่อดูรายละเอียดการเปลี่ยนแปลงเพิ่มเติม
10. ตรวจสอบผู้ที่เขียน Code แต่ละบรรทัด
หากคุณอยากรู้ว่า ใครเป็นผู้เขียน Code บรรทัดไหนบ้าง คุณสามารถใช้ git blame เพื่อดูประวัติแบบบรรทัดต่อบรรทัด
วิธีใช้:
ข้อดี:
มันเหมาะสำหรับการตามหาผู้เขียนและเวลาที่มีการแก้ไข Code เพื่อช่วย Debug ปัญหา
เคล็ดลับ:
สามารถใช้ร่วมกับ git log -- <file> เพื่อดูประวัติการเปลี่ยนแปลงเพิ่มเติม
11. หาต้นตอของ Bug
คำสั่งนี้ใช้การค้นหาแบบ Binary Search ใน Commit History เพื่อตามหา Commit ที่ทำให้เกิด Bug ขึ้น
วิธีใช้:
ข้อดี:
มันเหมือนกับโหมดนักสืบของ Git ซึ่งเหมาะอย่างยิ่งสำหรับการระบุว่า Bug เกิดขึ้นที่ใด โดยที่ไม่ต้องตรวจสอบการ Commit แต่ละครั้งด้วยตนเอง
เคล็ดลับ:
มันเหมาะสำหรับ Projects ซับซ้อนที่คุณไม่สามารถระบุได้ง่าย ๆ ว่ามีปัญหาเมื่อใด
12. ยกเลิกการ Merge
หากคุณต้องการ Merge แต่ไม่เป็นไปตามแผน คำสั่งนี้จะยกเลิกการ Merge และนำคุณกลับไปยัง State ก่อนหน้า
วิธีใช้:
ข้อดี:
มันเป็นทางออกที่รวดเร็วจากสถานการณ์ที่ยุ่งยาก และช่วยให้คุณสามารถเริ่มต้นใหม่ได้อีกครั้ง
เคล็ดลับ:
ตรวจสอบให้แน่ใจว่า Working Directory ของคุณ Clean ก่อนที่จะทำการ Merge
13. ค้นหา Commit Messages
คุณกำลังหา Commit Messages ที่ต้องการอยู่ บ้างหรือไม่? คุณสามารถใช้คำสั่ง git log --grep เพื่อตรวจหา Commit Messages ได้
วิธีใช้:
ข้อดี:
ช่วยให้คุณค้นหา Commit ได้เร็วขึ้นในกรณีที่คุณจำ Keywords ใน Commit Message ได้ แต่จำ Commit Hash ไม่ได้
เคล็ดลับ:
ลองใช้ร่วมกับ git log --author เพื่อหาการแก้ไขที่ทำโดย Developers คนใดคนหนึ่ง
14. การสร้าง Tag ให้กับ Commit
Tags จะช่วยระบุจุดสำคัญใน Git History ของคุณ เช่น Releases ที่ปล่อยออกมา
วิธีใช้:
ข้อดี:
มันจะช่วยให้คุณ Track จุดสำคัญและย้อนกลับไปยัง Version นั้นได้ง่าย
เคล็ดลับ:
ใช้ Lightweight Tag (git tag <tagname>) ถ้าคุณไม่ต้องการ Metadata เพิ่มเติม
15. Hard Reset เพื่อทำการ Clean Workspace
ถ้าต้องการลบ Files และ Folders ที่ไม่ได้ติดตาม (Untracked Files) ไว้อย่างรวดเร็ว คำสั่งนี้จะช่วยล้างข้อมูลที่ไม่ต้องการออกไป โดยคงไว้เฉพาะ Files ที่อยู่ภายใต้ Version Control
วิธีใช้:
ข้อดี:
มันช่วยให้ Workspace ของคุณเป็นระเบียบมากขึ้นโดยลบสิ่งที่ไม่จำเป็นออกไป
เคล็ดลับ:
ขอแนะนำให้ใช้คำสั่งนี้ด้วยความระมัดระวัง ตรวจสอบให้แน่ใจว่า คุณจะไม่ต้องใช้ Untracked Files เหล่านั้นในภายหลัง
16. ดู Git Operations ทั้งหมด
หากคุณเคยพลาดทำ Git History ผิดไป คำสั่ง git reflog คือสิ่งที่จะช่วยคุณได้ เพราะมันแสดง Log ของ Operations ทั้งหมดใน Repository ทำให้คุณกู้คืนการเปลี่ยนแปลงที่หายไปได้
วิธีใช้:
ข้อดี:
มันเป็นเหมือน “ประวัติของ Git History” มันช่วยให้คุณหาการ Commits หรือ Operations ที่หายไปได้
เคล็ดลับ:
ใช้คำสั่งนี้ เมื่อคุณคิดว่าหมดหวังหลังจากการ reset หรือ rebase ผิดพลาด
17. รวมหลาย Commit เข้าด้วยกัน
คุณเคยต้องการล้าง Commit History ก่อนทำการ Push ไหม? การ Squash Commit จะช่วยให้คุณสามารถรวมหลาย Commit เป็นหนึ่งเดียวเพื่อให้ History ดูดีขึ้น
วิธีใช้:
ข้อดี:
มันทำให้ Commit History ดูเป็นมืออาชีพ ซึ่งเหมาะสำหรับการทำงานร่วมกันเป็นทีม
เคล็ดลับ:
มันเหมาะมากสำหรับรวมการแก้ไขเล็ก ๆ น้อย ๆ หลายอันเข้าด้วยกันก่อนทำการ Push
18. การ Revert Commit
หากคุณต้องการยกเลิก Commit หนึ่งโดยไม่กระทบ History ทั้งหมด คำสั่ง git revert จะสร้าง Commit ใหม่ที่ยกเลิกการเปลี่ยนแปลงจาก Commit ที่ต้องการ
วิธีใช้:
ข้อดี:
มันต่างจาก reset เพราะคำสั่ง revert จะไม่ไป Rewrite History เดิม แต่มันจะแค่ย้อนกลับผลของการ Commit เท่านั้น
19. ดู Graph Branches ของคุณ
คำสั่งนี้จะช่วยให้คุณเห็นภาพรวมของ Branch History ของคุณ ทำให้เห็นการ Merge, Branches และ Commit ได้ง่ายขึ้น
วิธีใช้:
ข้อดี:
มันเป็นมุมมองภาพรวมของโครงสร้าง Project ของคุณ ซึ่งมีประโยชน์อย่างยิ่งในการทำความเข้าใจการ Setup Branch ที่ซับซ้อน
20. Auto-Completion
อย่าเสียเวลาพิมพ์คำสั่งยาว ๆ เปิดใช้งาน Auto-Completion ของ Git เพื่อจบคำสั่งด้วยปุ่ม TAB
วิธีใช้:
เพียงกด TAB หลังจากเริ่มพิมพ์คำสั่ง Git
ข้อดี:
Auto-Completion จะช่วยเพิ่มความเร็ว Workflow ของคุณ และช่วยป้องกันการพิมพ์ผิด
เคล็ดลับ:
ตรวจสอบให้แน่ใจว่า คุณได้ตั้งค่า Auto-Completion ของ Git ใน Terminal แล้ว เพื่อเพิ่มประสิทธิภาพการทำงานอย่างแท้จริง
ที่มา: https://blog.stackademic.com/
รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
บทความล่าสุด