ไม่มีปัญหา - ทุกอย่างทำงานได้อย่างที่คาดไว้
ใน GitLab บางสาขาสามารถป้องกันได้ โดยค่าเริ่มต้นเฉพาะผู้ดูแล / เจ้าของผู้ใช้สามารถกระทำการป้องกันสาขา (ดูเอกสารสิทธิ์ ) master
สาขาได้รับการป้องกันโดยค่าเริ่มต้น - มันบังคับให้นักพัฒนาออกคำร้องขอการผสานเพื่อตรวจสอบความถูกต้องโดยผู้ดูแลโครงการก่อนที่จะรวมเข้ากับรหัสหลัก
คุณสามารถเปิดและปิดการป้องกันในสาขาที่เลือกในการตั้งค่าโครงการ (ขึ้นอยู่กับรุ่น GitLab - ดูคำแนะนำด้านล่าง)
ในหน้าการตั้งค่าเดียวกันคุณสามารถอนุญาตให้นักพัฒนาผลักเข้าไปในสาขาที่ได้รับการป้องกัน เมื่อเปิดใช้งานการตั้งค่านี้การป้องกันจะ จำกัด อยู่ที่การปฏิเสธการดำเนินการที่ต้องการgit push --force
(การรีบูตเป็นต้น)
ตั้งแต่ GitLab 9.3
ไปที่โครงการ: "การตั้งค่า" → "พื้นที่เก็บข้อมูล" → "ขยาย" ใน "สาขาที่ได้รับความคุ้มครอง"
ฉันไม่แน่ใจจริงๆว่าเมื่อใดที่มีการแนะนำการเปลี่ยนแปลงนี้ภาพหน้าจอมาจากรุ่น 10.3
ตอนนี้คุณสามารถเลือกผู้ที่ได้รับอนุญาตให้รวมหรือผลักดันเข้าไปในสาขาที่เลือก (ตัวอย่างเช่น: คุณสามารถปิดการพุชไปmaster
เลยบังคับให้การเปลี่ยนแปลงทั้งหมดไปยังสาขาจะต้องทำผ่านคำขอรวม) หรือคุณสามารถคลิก "เลิกป้องกัน" เพื่อลบการป้องกันออกจากสาขาอย่างสมบูรณ์
ตั้งแต่ GitLab 9.0
เช่นเดียวกับ GitLab 9.3 แต่ไม่จำเป็นต้องคลิก "ขยาย" - ทุกอย่างขยายไปแล้ว:
ไปที่โครงการ: "การตั้งค่า" → "พื้นที่เก็บข้อมูล" →เลื่อนลงไปที่ "สาขาที่ได้รับการป้องกัน"
พื้นฐาน GitLab 9.0
โครงการ: "การตั้งค่า" → "สาขาที่ได้รับความคุ้มครอง" (ถ้าคุณเป็น 'อาจารย์' อย่างน้อยในโครงการที่ได้รับ)
จากนั้นคลิกที่ "Unprotect" หรือ "Developers สามารถพุช":