4 เรื่องที่คุณควรรู้เกี่ยวกับ Git และ GitHub
04-ธ.ค.-24
คัมภีร์เทพ IT
หากคุณยังไม่เชี่ยวชาญการใช้ GitHub คุณอาจจะรู้สึกกลัวมันเล็กน้อย เพราะมี Branch, Pull Requests, Merges, Conflicts เป็นจำนวนมาก ซึ่งทำให้คุณงงได้ง่าย ๆ แต่ไม่ต้องกังวลไป เพราะบทความนี้จะมาแนะนำ 4 เรื่องที่คุณควรรู้เกี่ยวกับ Git และ GitHub
1. ทำไมคุณถึงควรให้ความสำคัญกับ GitHub?
GitHub ไม่ได้เป็นแค่ Cloud สำหรับ Code ของคุณเท่านั้น แต่มันคือ สิ่งที่ทำให้ “การทำงานร่วมกัน” เป็นไปได้อย่างราบรื่น
GitHub จะช่วยให้คุณจัดการเกี่ยวกับ Version Control ได้อย่างยอดเยี่ยม ซึ่งสิ่งนี้ได้ช่วยอำนวยความสะดวก Coder ทุกคนที่ต้องทำงานร่วมกับเพื่อนร่วมงานโดยเฉพาะการทำงานในทีมที่มีขนาดใหญ่ การเชี่ยวชาญใน GitHub จะทำให้ชีวิตของคุณง่ายขึ้น ไม่ว่าคุณจะทำงานคนเดียวหรือเป็นส่วนหนึ่งของทีมก็ตาม
2. Workflow พื้นฐาน
ต่อไปเรามาดู GitHub Workflow ง่าย ๆ กัน สำหรับตัวอย่างนี้ จะขอถือว่าคุณมีความเข้าใจพื้นฐานเกี่ยวกับ Git และจะเน้นไปที่ GitHub ในฐานะที่มันศูนย์กลางสำหรับการทำงานร่วมกันเป็นทีม
- สร้าง Repository ใหม่
ไปที่ GitHub Dashboard ของคุณ แล้วคลิกปุ่ม "New Repository" ตั้งชื่อให้มัน ด้วยชื่อที่เท่ห์ ๆ อาจจะเป็น "super-cool-project" หรือชื่อที่ดูเป็นมืออาชีพกว่านี้หากคุณทำงานอยู่ในทีม
- ทำการ Clone
ตอนนี้ คุณสามารถ Clone Repository ใหม่ของคุณ ไปยังเครื่องของคุณ
GitHub Repo Clone
- การแยก Branch ออกมา
นี่คือจุดที่มือใหม่ส่วนใหญ่มักจะประสบปัญหาคือ การแยก Branch ออกมา
หากคุณกำลังทำงานกับ Feature ใหม่ ก็ให้แยก Branch ออกจาก Main (หรือ Master ไม่ว่าค่า Default ของคุณจะเป็นอะไรก็ตาม) เสมอ
Branching Out
- ทำการแก้ไขเปลี่ยนแปลง
ทำสิ่งที่คุณอยากทำ เช่น เขียน Code เจ๋ง ๆ, เพิ่ม File ไปสัก 2-3 Files หรืออาจเป็นการแก้ไข Bug ก็ได้
- Commit และ Push
หลังจากที่คุณพอใจกับการแก้ไขเปลี่ยนแปลงของคุณแล้ว ก็ให้ทำการ Stage และ Commit การเปลี่ยนแปลง อย่าลืมกฎเหล็ก ก็คือ สร้าง Commit Message ที่มีความหมายชัดเจน หลีกเลี่ยงหลีกเลี่ยงข้อความ เช่น Fix Stuff หรือ Final Version Control
Commit Push
- สร้าง Pull Request (PR)
เมื่อคุณทำการ Push Branch ของคุณแล้ว ก็ถึงเวลาสร้าง Pull Request บน GitHub ซึ่งมันเป็นส่วนสำคัญของกระบวนการนี้
Pull Request (PR) จะช่วยให้คนอื่นในทีมสามารถ Review Code ของคุณ, ให้ Feedback และพูดคุยเกี่ยวกับการเปลี่ยนแปลงที่อาจเกิดขึ้นได้
โดยคุณเพียงไปที่ Repository ของคุณบน GitHub จากนั้นจะมีปุ่มใหญ่ที่มีข้อความว่า "Compare & Pull Request" ให้คลิกที่ปุ่มนั้น ตั้งชื่อให้เหมาะสม และเขียนคำอธิบายให้ชัดเจน ระบุรายละเอียด เพื่อแจ้งให้ทีมของคุณทราบว่า คุณได้ทำการเปลี่ยนแปลงอะไรไปบ้าง และสาเหตุของการเปลี่ยนแปลง
- ทำการ Merge Pull Request
หลังจากที่เพื่อนร่วมทีม ได้ทำการ Review Code ของคุณ และคุณได้แก้ไขตาม Feedback ที่ได้รับแล้ว ให้ทำการMerge Pull Request เข้ากับ Main Branch เพียงเท่านี้ คุณก็สามารถทำงานร่วมกับเพื่อนร่วมทีมได้อย่างมืออาชีพแล้ว
3. จัดการ Merge Conflicts อย่างมืออาชีพ
ถึงแม้การเกิด Merges Conflict จะเป็นสิ่งที่หลีกเลี่ยงได้ยาก แต่มันก็ไม่ควรสร้างปัญหาให้คุณ หากมีคนสองคน ได้ทำกี่แก้ไขในส่วนเดียวกันของ File ปัญหาคือ Git จะไม่สามารถเลือกได้ว่าควรจะใช้ของใคร ตรงนี้เป็นหน้าที่ของคุณ
เมื่อคุณได้รับข้อความแจ้งว่า มี Conflicts จากการ Merge, Git จะแสดงส่วนที่มี Conflict ใน File ของคุณ จะเห็นข้อความลักษณะนี้:
การจัดการกับ Merge Conflicts
เพียงแค่ตัดสินใจว่าจะเก็บส่วนใดของ Code ไว้ หรือจะรวมการเปลี่ยนแปลงทั้งสองส่วนในลักษณะที่เหมาะสม จากนั้นทำการ Save File แล้ว Commit ใหม่
4. GitHub Actions: ทำการ Automate Workflow ของคุณ
GitHub Actions ถือเป็นอีกหนึ่งเครื่องมือที่เข้ามาเปลี่ยนเกมของ GitHub ทำไมเราต้องเสียเวลาในการ Run Tests, สร้าง Code หรือ Deploy ด้วยตัวเอง ในเมื่อ GitHub สามารถทำสิ่งเหล่านั้นให้คุณได้ Actions นับเป็นเครื่องมือที่มีประสิทธิภาพที่จะช่วยทำให้ Workflow ของคุณ เป็นอัตโนมัติได้แทบทุกอย่าง
ขอยกตัวอย่างเช่น คุณสามารถให้ GitHub Actions ทำการ Run Tests ของคุณให้โดยอัตโนมัติทุกครั้งที่มี Pull Request เพื่อให้แน่ใจว่า จะไม่มีการ Merge Code ส่วนที่พังเข้าไป อีกทั้งคุณยังสามารถตั้งค่าให้ Deploy โดยอัตโนมัติ เมื่อการเปลี่ยนแปลง ผ่านการตรวจสอบหมดแล้ว
นี่คือ การตั้งค่าพื้นฐานสำหรับ Action ที่ Run Tests ใน Code ของคุณ:
GitHub Actions
ซึ่งนั่นหมายความว่า ทุกครั้งที่คุณ Push ไปยัง Main Branch, GitHub จะ Run Tests ให้คุณ มันเป็นเหมือนกับผู้ช่วยตัวน้อย ๆ ตรงมุมห้อง ที่คอยบอกว่า "ไม่ต้องกังวลไป ผมจะตรวจ Code ของคุณให้ ว่ามันยัง Okay อยู่หรือไม่"
สรุป
และนี่ก็เป็น 4 เรื่องที่คุณควรรู้เกี่ยวกับ Git และ GitHub ด้วย Features อย่าง Branching, Pull Requests และ GitHub Actions มันมีทุกอย่างที่คุณต้องการสำหรับการทำงานร่วมกับผู้อื่น (หรือแม้แต่ทำงานคนเดียว) เพียงทำตาม Best Practices อีกไม่นานคุณก็จะ Commit, Merge และสามารถทำงานร่วมกับคนอื่นในทีมได้อย่างมืออาชีพ
ที่มา: https://levelup.gitconnected.com/
รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
บทความล่าสุด