Git คือระบบควบคุมเวอร์ชัน (VCS) ที่ใช้มากที่สุดสำหรับการตรวจสอบและควบคุมโครงการทั่วโลก นอกจากนี้ยังมีสภาพแวดล้อมการทำงานที่กระจัดกระจายและทำงานร่วมกัน ส่งเสริมความร่วมมือ
การแตกสาขาเป็นคุณลักษณะที่สำคัญที่สุดอย่างหนึ่งของ Git เนื่องจากช่วยให้คุณสามารถสร้างช่องสัญญาณแยกต่างหากสำหรับชุดการเปลี่ยนแปลงเฉพาะ เช่น การแก้ไขข้อบกพร่อง การพัฒนาคุณลักษณะใหม่ หรือการทดลอง โดยไม่ส่งผลกระทบต่อสาขาหลัก
เมื่อเปรียบเทียบกับการดำเนินการ Git อื่น ๆ การแตกแขนงเป็นวิธีที่ค่อนข้างง่าย ช่วยให้คุณสามารถเบี่ยงเบนจากฐานรหัสเดิมได้
การแตกสาขาช่วยให้คุณทำงานร่วมกับนักพัฒนาคนอื่นๆ ได้รวดเร็วยิ่งขึ้น และให้อิสระอย่างมากในกระบวนการทำงานของคุณ นอกจากนี้ยังช่วยให้คุณสามารถทำงานกับคุณลักษณะใหม่ได้โดยไม่ส่งผลกระทบต่อส่วนที่เหลือของโค้ดเบส
กลไกการแตกแขนงของ Git ช่วยให้สามารถสร้างสาขาใหม่ภายในโครงการได้
สาขาเพิ่มเติมเหล่านี้อาจใช้เพื่อทดสอบการเปลี่ยนแปลงรหัสโดยไม่รบกวนรหัสโครงการหลัก หากการปรับเปลี่ยนสำเร็จ สาขาสามารถรวมกลับเป็นสาขาหลักได้
อย่างไรก็ตาม มีบางครั้งที่คุณต้องลบสาขา Git ในเครื่อง แต่ไม่ใช่จากระยะไกล อ่านต่อไปเพื่อดูวิธีการทำ
Git Branch คืออะไร?
Git สามารถติดตามงานได้หลายสายด้วยการแตกแขนง สิ่งนี้ทำให้คุณสามารถทำงานในหลายเวอร์ชันของโปรเจ็กต์ของคุณพร้อมๆ กัน
หลายโปรเจ็กต์จะรักษามาสเตอร์แบรนช์ที่เสถียรในขณะที่เพิ่มคุณสมบัติใหม่หรือแก้ไขจุดบกพร่องบนสาขาการพัฒนาหรือการทดสอบ
เมื่อผู้จัดการโครงการแน่ใจว่าการเปลี่ยนแปลงที่ทำในสาขาที่กำลังพัฒนาเป็นไปตามเกณฑ์ พวกเขาสามารถรวมการแก้ไขเหล่านั้นเข้ากับสาขาหลักได้ สำหรับโครงการขนาดใหญ่บางโครงการ วงจรนี้มักจะทำซ้ำไปเรื่อย ๆ
การทำงานกับสาขาการพัฒนา Git เป็นแนวทางที่ยอดเยี่ยมในการทำงานกับโปรแกรมของเราพร้อมๆ กับติดตามเวอร์ชันของโปรแกรม โดยทั่วไปแล้ว สาขาการพัฒนาคือการแบ่งในสถานะของรหัสซึ่งกำหนดเส้นทางใหม่สำหรับความก้าวหน้า
มันสามารถทำงานควบคู่ไปกับ Git สาขาอื่น ๆ ที่คุณสร้างขึ้นได้ เป็นไปได้ที่จะเพิ่มคุณสมบัติใหม่ให้กับโค้ดของเราในลักษณะที่เป็นระเบียบและถูกต้อง
ทำไมและเมื่อใดจึงจำเป็นต้องลบ
เป็นแนวทางปฏิบัติในการบำรุงรักษาโดยทั่วไปในการลบสาขา Git เมื่อไม่มีการใช้งานอีกต่อไป แม้ว่าจะไม่เป็นสากลหรือเป็นที่เข้าใจเสมอไป
ทำไมคุณควรลบกิ่ง Git ที่ล้าสมัยออกจากที่เก็บของคุณ มีเหตุผลพื้นฐานสองประการสำหรับสิ่งนี้:
- พวกมันไม่จำเป็น สาขาส่วนใหญ่ โดยเฉพาะอย่างยิ่งสาขาที่เชื่อมต่อกับคำขอดึงที่ได้รับการอนุมัติในที่สุด จะไม่ทำงาน
- พวกเขาเป็นที่มาของความสับสน พวกเขาไม่ได้เพิ่มค่าใช้จ่ายด้านเทคโนโลยีมากนัก แต่พวกเขาทำให้การทำงานกับรายชื่อสาขาในที่เก็บมีความท้าทายมากขึ้นสำหรับมนุษย์
สามารถลบสาขาได้อย่างปลอดภัยโดยไม่ต้องกลัวว่าการดัดแปลงใดๆ จะสูญหาย
พิจารณาสถานการณ์สมมติต่อไปนี้: สาขา patch-1 จะถูกรวมเข้ากับสาขาหลักผ่านคำขอดึง ก่อนทำการผสาน มาสเตอร์ และแพตช์-1 แต่ละรายการจะชี้ไปที่การแก้ไขที่ต่างกันในประวัติคอมมิต git
หลังจากการผสาน (หากมีการเพิ่มคอมมิตการผสานใหม่) มาสเตอร์และแพตช์-1 ทั้งคู่จะลิงก์ไปยังคอมมิตการรวมใหม่ ณ จุดนี้ คำขอดึงจะเสร็จสิ้น และควรส่งการพุชในอนาคตทั้งหมดไปยังมาสเตอร์ แทนที่จะเป็นแพตช์-1
Local vs Remote Branch ใน Git
สาขาระยะไกล – อยู่ในระบบที่แยกจากกัน โดยทั่วไปเป็นเซิร์ฟเวอร์ที่นักพัฒนาสามารถเข้าถึงได้ เมื่อสาขาระยะไกลถูกลบ จะถูกลบสำหรับผู้ใช้ทั้งหมด
สาขาในพื้นที่ – บนระบบท้องถิ่น สาขาในพื้นที่จะถูกบันทึก การลบสาขาในพื้นที่ไม่มีผลกับสาขาที่อยู่ห่างไกล
จะลบสาขาในเครื่องได้อย่างไร?
มันจะไม่อนุญาตให้คุณลบสาขาที่คุณกำลังดำเนินการอยู่ ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้ชำระเงินสาขาที่คุณไม่ได้กำลังลบ เริ่มต้นด้วยการหาวิธีลบสาขาในพื้นที่
- ในการเริ่มต้น ให้รันคำสั่ง (git branch -a) เพื่อดูสาขาทั้งหมด (ทั้งแบบโลคัลและรีโมต)
- จากนั้น ใช้คำสั่ง (git branch -d) ตามด้วยชื่อสาขาที่ต้องการลบ คุณลบได้
หากคุณพยายามลบสาขาที่มีการแก้ไขที่ยังไม่ได้ผสาน ข้อความแสดงข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น:
ตามที่ข้อความข้างต้นระบุ หากต้องการบังคับการลบสาขา ให้ใช้ตัวเลือก -D ซึ่งเป็นทางลัดสำหรับ —delete —force
โปรดจำไว้ว่าการลบสาขาที่ยังไม่ได้รวมจะทำให้การแก้ไขทั้งหมดในสาขานั้นหายไป
หากคุณพยายามลบสาขาปัจจุบัน คุณจะเห็นข้อความต่อไปนี้:
คุณไม่สามารถลบสาขาที่คุณอยู่ในขณะนี้ สลับไปที่สาขาอื่นก่อน แล้วจึงลบชื่อสาขา:
ข้อเสียของการลบสาขา
ข้อเสียที่เป็นไปได้ในการลบสาขาคือการเชื่อมโยงใดๆ กับตำแหน่งของสาขาจะเสียหาย (ใน GitHub เป็นต้น)
ฉันแทบไม่มีลิงก์ถาวรไปยังสาขาที่ไม่ใช่สาขาหลัก และหากฉันต้องการเชื่อมต่อกับงานในสาขาใดสาขาหนึ่ง ฉันน่าจะทำหลังจากที่มันถูกเปลี่ยนเป็นคำขอดึง (ในกรณีนี้ ฉันจะลิงก์ไปยัง ดึง-ขอ).
คำสุดท้าย
การรู้วิธีใช้สาขาการพัฒนามีความสำคัญต่อการสร้างแอปพลิเคชันของคุณอย่างเป็นระบบ ดูแลโครงสร้างโค้ดของคุณในสาขาต่างๆ
เมื่อใดก็ตามที่คุณไม่แน่ใจเกี่ยวกับการดำเนินการที่ซับซ้อน คุณควรอ่านเสมอ เอกสารอย่างเป็นทางการของ Git ในสาขา
เขียนความเห็น