Git Branch เป็นองค์ประกอบพื้นฐานของระบบควบคุมรุ่น GIT เราจะสำรวจโมเดลการแตกแขนงที่แตกต่างกันในบทช่วยสอนนี้

Git Pull Requests Branches

ใน บทความสุดท้าย เราได้เรียนรู้เกี่ยวกับพื้นฐานของระบบควบคุม GIT และรุ่น เราผ่านไปทีละขั้นตอนและเรียนรู้วิธีการตั้งค่าที่เก็บ Git นอกจากนี้เราเรียนรู้วิธีเพิ่มการเปลี่ยนแปลงในสาขาและเปลี่ยนกลับในกรณีที่คุณต้องการยกเลิกการเปลี่ยนแปลงของคุณ ตอนนี้เราเข้าใจพื้นฐานของระบบควบคุมเวอร์ชันโดยเฉพาะ Git ดังนั้นในโพสต์บล็อกนี้เราจะย้ายไปเพื่อหารือเกี่ยวกับวิธีการใช้สาขา GIT และดึงคำขอ เราจะเรียนรู้เกี่ยวกับเวิร์กโฟลว์ที่แตกต่างกัน ดังนั้นมาเริ่มกันเถอะ!

กิ่งกิตคืออะไร

กิ่งก้าน

มาพูดคุยเกี่ยวกับสาขาและทำไมเราต้องใช้สาขาและกลยุทธ์การแตกแขนงที่เราสามารถใช้ในการทำงานได้อย่างมีประสิทธิภาพด้วยรหัสของเรา ตามชื่อแนะนำสาขา****แสดงถึงแนวการพัฒนาอิสระจากรูท เมื่อคุณสร้างที่เก็บข้อมูลคุณจะสร้างสาขาเช่นกันซึ่งเราสามารถเรียกสาขาหลัก (หรือเริ่มต้น) เราสามารถทำการเปลี่ยนแปลงสาขาหลักของเรา แต่ในกรณีที่คุณต้องการทำงานกับฟีเจอร์และไม่ต้องการแยกรหัสของคุณออกจากสาขาหลัก นั่นคือที่ที่สาขาช่วยคุณ พวกเขาปล่อยให้คุณแตกแขนงออกแล้วรวมกันในภายหลัง

สร้าง / แก้ไขสาขา Git

git branch

คำสั่งให้คุณสร้างรายการเปลี่ยนชื่อและลบสาขา มันจะไม่ให้คุณสลับระหว่างสาขาสำหรับสิ่งนี้เราต้องใช้คำสั่ง git checkout หรือถ้าคุณต้องการรวมการเปลี่ยนแปลงกลับไปที่สาขาคุณต้องใช้คำสั่ง git merge สิ่งสำคัญคือต้องเข้าใจว่าสาขาเป็นเพียงพอยน์เตอร์ที่ต้องทำ เมื่อคุณสร้างสาขา GIT ทั้งหมดต้องทำคือสร้างตัวชี้ใหม่มันจะไม่เปลี่ยนที่เก็บด้วยวิธีอื่นใด ใช้คำสั่งต่อไปนี้เพื่อสร้างสาขา

git branch <branch-name>

เมื่อคุณทำงานกับสาขาเสร็จแล้วและรวมเข้ากับฐานรหัสหลักคุณสามารถลบสาขาได้โดยไม่สูญเสียประวัติใด ๆ โดยใช้คำสั่งต่อไปนี้

git branch -d <branch-name>

คำขอดึงคืออะไร

คำขอดึงเป็นวิธีการส่งผลงานไปยังโครงการซอฟต์แวร์โดยใช้ระบบควบคุมเวอร์ชันเช่น Git นักพัฒนาใช้คำขอดึงเพื่อเสนอการเปลี่ยนแปลงไปยัง codebase เมื่อมีการเปิดคำขอดึงคุณสามารถพูดคุยและตรวจสอบการเปลี่ยนแปลงที่อาจเกิดขึ้นกับผู้ทำงานร่วมกันและเพิ่มการติดตามผลก่อนที่การเปลี่ยนแปลงของคุณจะถูกรวมเข้ากับสาขาพื้นฐาน เมื่อนักพัฒนาเปิดคำขอดึงสิ่งที่เขาทำคือขอให้นักพัฒนาอีกคนดึงสาขาจากที่เก็บของเขาเข้าไปในที่เก็บของพวกเขา ซึ่งหมายความว่าเขาจำเป็นต้องให้ค่าอินพุต 4 ค่าเพื่อสร้างคำขอดึง: ที่เก็บต้นทางสาขาแหล่งที่มาที่เก็บปลายทางและสาขาปลายทาง

โมเดลการแตกแขนงยอดนิยม

มีเวิร์กโฟลว์การแตกแขนงจำนวน O ที่มีการใช้งานโดยชุมชนนักพัฒนาทั่วโลก แต่เราจะพูดถึงสามรุ่นที่ได้รับความนิยมมากที่สุดทีละรุ่น

git flow

Gitflow Workflow เป็นเวิร์กโฟลว์ GIT ที่ช่วยในการพัฒนาซอฟต์แวร์อย่างต่อเนื่องและการปฏิบัติตามแนวทางปฏิบัติของ DevOps Git Flow เป็นเวิร์กโฟลว์ที่รู้จักกันมากที่สุดในรายการนี้ มันถูกสร้างขึ้นโดย Vincent Driessen ในปี 2010 และมันขึ้นอยู่กับสองสาขาหลักที่มีอายุการใช้งานที่ไม่มีที่สิ้นสุดพร้อมกับสาขาที่สนับสนุนอื่น ๆ เช่นคุณสมบัติ-*, hotfixes-* ซึ่งรวมเข้ากับสาขาพัฒนาเป็นรายบุคคล รายการเสร็จสมบูรณ์

  • มาสเตอร์ - สาขานี้มีรหัสการผลิต รหัสการพัฒนาทั้งหมดถูกรวมเข้ากับสาขาหลักเมื่อพร้อมที่จะผลักดันให้เกิดการผลิต
  • พัฒนา -สาขานี้มีรหัสก่อนการผลิต เมื่อคุณสมบัติเสร็จสิ้นพวกเขาจะถูกรวมเข้ากับการพัฒนา Gitflow เหมาะอย่างยิ่งสำหรับโครงการที่มีรอบการปล่อยตามกำหนด แม้ว่าประวัติ GIT จะไม่สามารถอ่านได้

github flow

การไหลของ GitHub เป็นเวิร์กโฟลว์ที่มีน้ำหนักเบา มันถูกสร้างขึ้นโดย GitHub ในปี 2011 และส่วนใหญ่มุ่งเน้นไปที่โมเดล Agile ซึ่งคุณไม่รอรอบการวางจำหน่าย แต่คุณผลักดันการเปลี่ยนแปลงการผลิตเป็นประจำทุกวันเนื่องจากฟีเจอร์เสร็จสมบูรณ์ GitHub Flow ดังต่อไปนี้หลักการ:

  • อะไรก็ได้ในสาขา“ Master” สามารถนำไปใช้งานได้
  • ในการทำงานกับสิ่งใหม่ให้สร้างสาขาแยกต่างหากของ Master ด้วยชื่อคำอธิบายบางอย่างเช่น“ การอัปโหลดรูปภาพ”
  • มุ่งมั่นกับสาขานั้นในพื้นที่และผลักดันงานของคุณไปยังสาขาที่มีชื่อเดียวกันบนเซิร์ฟเวอร์
  • เมื่อคุณต้องการข้อเสนอแนะหรือความช่วยเหลือหรือคุณคิดว่าสาขาพร้อมสำหรับการรวมกันเปิด คำขอดึง
  • หลังจากตรวจสอบและลงชื่อออกบนคุณสมบัติคุณสามารถรวมเข้ากับอาจารย์
  • เมื่อมันถูกรวมเข้าด้วยกันและผลักดันให้ ‘อาจารย์’ สามารถนำไปใช้กับการผลิตได้

gitlab flow

Gitlab Flow เป็นเวิร์กโฟลว์ที่สร้างขึ้นโดย Gitlab ในปี 2014 Gitlab Flow เป็นทางเลือกที่ง่ายกว่าสำหรับ Gitflow และรวมการพัฒนาที่ขับเคลื่อนด้วยคุณสมบัติและสาขาคุณสมบัติกับการติดตามปัญหา ความแตกต่างที่สำคัญระหว่างการไหลของ gitlab และการไหลของ GitHub คือการใช้สาขาสิ่งแวดล้อม นักพัฒนาสร้างสาขา พัฒนา และทำให้เป็นค่าเริ่มต้นในขณะที่ Gitlab Flow ทำงานร่วมกับสาขา ‘หลัก’ ได้ทันที Gitlab Flow รวมหลายสาขาก่อนการผลิต และสิ่งเหล่านี้สามารถใช้ทดสอบสิ่งต่าง ๆ ในระดับต่าง ๆ เช่นจากสาขาทดสอบไปจนถึงการยอมรับและจากการยอมรับการผลิต

บทสรุป

ในบทความนี้เราได้เรียนรู้เกี่ยวกับสาขา Git และดึงคำขอ เราศึกษาความสำคัญของการร้องขอการดึงและวิธีการใช้งานในเวิร์กโฟลว์ GIT ต่างๆ นอกจากนี้เรายังสำรวจโมเดลการแตกแขนง GIT ที่แตกต่างกันโดยสังเขป