การใช้งาน Branch ใน GitLab สำหรับแบ่งโค้ดในการพัฒนา Feature

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21993
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

การใช้งาน Branch ใน GitLab สำหรับแบ่งโค้ดในการพัฒนา Feature

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

เชื่อว่าโปรแกรมเมอร์หรือนักพัฒนาซอฟต์แวร์ส่วนใหญ่น่าจะเคยใช้งาน Git สำหรับจัดการโค้ดในโปรเจค ซึ่งปกติการใช้งาน Git นิยมใช้ระบบจากผู้ให้บริการอย่าง GitHub GitLab หรือ Bitbucket โดยตัว Git เองนอกจากจะใช้เก็บโค้ดเป็นเวอร์ชั่นต่างๆ สามารถตรวจสอบ หรือย้อนกลับโค้ดได้แล้ว ยังมีความสามารถอื่นๆ ที่นักพัฒนาสามารถนำมาใช้ประโยชน์ได้อีกหลายอย่าง ในกระทู้นี้จะขอแนะนำการใช้งาน Branch หรือ เรียกว่าการแบ่งโค้ดออกเป็นสาขาย่อยๆ ในโปรเจคเดียว ส่วนใหญ่จะนิยมใช้ตอนที่ต้องการพัฒนา Feature ของโปรเจค โดยระหว่างที่พัฒนาจะมีการเก็บเวอร์ชั่นของโค้ดที่เป็น Feature แต่จะไม่กระทบกับโค้ดหลักของโปรเจค วิธีการเป็นอย่างไรมาดูกันเลย

เครื่องมือที่ใช้ในกระทู้นี้
1. โปรเจคใน GitLab
2. NetBeans หรือใช้ IDE ตามความถนัด เช่น VS Code, Atom, Sublime หรืออื่นๆ

เริ่มต้นเราต้องมีโค้ดหลักในโปรเจคอยู่แล้ว ซึ่งปกติจะมีแค่ Branch เดียว คือ Master สามารถดูชื่อ Branch ได้ในหน้าหลักของโปรเจค
1.png
1.png (99.58 KiB) Viewed 2992 times

ทีนี้เมื่อเราต้องการเพิ่ม Branch เพื่อแยกเป็นโค้ดสำหรับ Feature ใหม่ ให้คลิกไปที่หน้า Branch ตามภาพ
2.png
2.png (83.8 KiB) Viewed 2992 times

เมื่อเข้ามาที่หน้า Branch จะสามารถจัดการ เพิ่ม ลบ Branch ได้ ให้คลิกปุ่ม New branch เพื่อสร้างใหม่
3.png
3.png (55 KiB) Viewed 2992 times

ในหน้าฟอร์ม Branch ให้ใส่ชื่อของ Branch ใหม่ (หมายเลข 1) โดยห้ามเว้นวรรค และเลือกดึงโค้ดตั้งต้นจาก Branch ชื่อ Master (หมายเลข 2)
4.png
4.png (41.72 KiB) Viewed 2992 times

ตอนนี้ในโปรเจคเราจะมี 2 Branch เรียบร้อยแล้ว
5.png
5.png (58.19 KiB) Viewed 2992 times

เปิดตัว IDE ที่ใช้แก้ไขโค้ดขึ้นมา ถ้ายังไม่ได้เชื่อมกับ Git ให้ Clone โปรเจคลงมาก่อน แต่หากเชื่อมอยู่แล้ว ให้ pull ข้อมูลลงมา โดยคลิกขวาที่ชื่อโปรเจค
Share Knowledge-1.png
Share Knowledge-1.png (279.74 KiB) Viewed 2992 times

ใน Netbeans เมื่อกด pull จะมีหน้าต่างขึ้นมา ให้กด next
Share Knowledge-1.png
Share Knowledge-1.png (89.82 KiB) Viewed 2992 times

ในหน้าถัดมา ให้ทำเครื่องหมายถูกในช่องหมายเลข 1 เพื่อดึง Branch ที่สร้างใหม่ลงมา แล้วกด Finish ตรงหมายเลข 2
Share Knowledge-1.png
Share Knowledge-1.png (76.63 KiB) Viewed 2992 times

เมื่อเราต้องการสลับ Branch ให้คลิกขวาที่โปรเจค เลือกเมนูตามภาพ
Share Knowledge-1.png
Share Knowledge-1.png (180.45 KiB) Viewed 2992 times

จะมีหน้าต่างขึ้นมา ให้เลือก Branch ที่ต้องการ แล้วคลิกปุ่ม Switch เราจะสลับ Branch เรียบร้อยแล้ว
Share Knowledge-1.png
Share Knowledge-1.png (88.43 KiB) Viewed 2992 times

หลังจากสลับ Branch เราสามารถพัฒนาในส่วน Feature ใหม่ และ commit กับ push ตามปกติ โดยโค้ดจะไม่กระทบกับตัว Master

สำหรับการเอา Branch ที่เป็น Feature รวมเข้ากับ Master ให้เข้าไปที่หน้าโปรเจคใน Git ให้กดปุ่ม create merge request ด้านบน จะเป็นการตั้งรายการร้องขอให้รวม Branch ที่เป็น Feature เข้าใน Master
Share Knowledge-1.png
Share Knowledge-1.png (84.32 KiB) Viewed 2992 times

ในหน้าฟอร์ม New Merge Request ระบบจะ default ช่อง Title มาให้อยู่แล้ว และสามารถใส่ Description ได้ รวมถึงกำหนดผู้รับผิดชอบได้ด้วย จากนั้นให้กด Submit merge request
Share Knowledge-1.png
Share Knowledge-1.png (114.02 KiB) Viewed 2992 times

ตอนนี้ระบบของ GitLab จะตั้งรายการมา สถานะเป็น Open เพื่อให้คนในโปรเจคตรวจสอบและพูดคุยกันได้ก่อน ซึ่งถ้าเรียบร้อยแล้วให้กดปุ่ม Merge ได้เลย ตรงนี้สามารถเลือกได้ว่า หลังจาก Merge แล้วจะลบ Branch ที่เป็น Feature หรือจะเก็บไว้
Share Knowledge-1.png
Share Knowledge-1.png (114.82 KiB) Viewed 2992 times

หลังจาก Merge เรียบร้อยแล้ว สถานะจะเปลี่ยนเป็น Merged โค้ดจะถูกรวมไว้ที่ Master แล้ว
Share Knowledge-1.png
Share Knowledge-1.png (99.96 KiB) Viewed 2992 times


สำหรับกระทู้นี้เป็นเพียงวิธีการอย่างง่ายในการใช้งาน Branch เพื่อแบ่งโค้ดในการพัฒนา Feature ย่อยๆ โดยอธิบายตั้งแต่การสร้าง Branch ในโปรเจค การดึงมาใช้ในเครื่องของเรา ในกระทู้จะใช้ IDE เป็นตัว Netbeans ซึ่งสามารถใช้ IDE ตัวอื่นได้ตามความถนัด แต่การทำงานกับ Git ก็จะแตกต่างกันออกไป หรือ หากใครถนัดใช้ Git Command ก็สามารถใช้ได้เช่นกัน นอกจากนี้ในการทำงานจริงตัว Git ยังมีความสามารถอื่นๆ อีกหลายอย่างที่สามารถนำมาใช้ในโปรเจคของเรา โดยสำหรับตัว GitLab สามารถศึกษาเพิ่มเติมได้จาก https://docs.gitlab.com/
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 23