กระบวนการพัฒนาโดยใช้พื้นที่ทํางานแบบแยกสาขา

พื้นที่ทํางานแบบแยกสาขา คือพื้นที่ทํางานที่เชื่อมโยงกับพื้นที่ทํางานต้นทาง ช่วยให้นักพัฒนาทํางานกับการเปลี่ยนแปลงในสภาพแวดล้อมที่แยกจากกัน เข้าใจว่างานของตนเกี่ยวข้องกับพื้นที่ทํางานอื่นๆ อย่างไร และส่งเสริมการเปลี่ยนแปลงกลับไปยังพื้นที่ทํางานหลักด้วยความมั่นใจ

ความสัมพันธ์ (ลิงก์) ระหว่างพื้นที่ทํางานแบบแยกสาขาและพื้นที่ทํางานต้นทางจะถูกสร้างขึ้นเมื่อผู้ใช้ดําเนินการแยกสาขาออก สําหรับนักพัฒนา Fabric การแยกสาขาจะสร้างสาขา Git ใหม่จากคอมมิตล่าสุดของสาขาที่เชื่อมต่อในปัจจุบันของพื้นที่ทํางานต้นทาง จากนั้นผู้ใช้สามารถสร้างพื้นที่ทํางานใหม่ที่เชื่อมต่อกับสาขาใหม่นั้น หรือใช้พื้นที่ทํางานที่มีอยู่โดยสลับการเชื่อมต่อ Git ไปยังสาขาที่สร้างขึ้นใหม่

พื้นที่ทํางานแบบแยกสาขา (พรีวิว)

ความสัมพันธ์ พื้นที่ทํางานแบบแยกสาขา มีการแสดงภาพหลายรายการใน Fabric UI:

  • แผนผังพื้นที่ทํางาน: แสดงพื้นที่ทํางานต้นทางเป็นต้นทางของพื้นที่ทํางานแบบแยกแขนง

    ลําดับชั้นของแผนผังพื้นที่ทํางานที่มีพื้นที่ทํางานแบบแยกแขนง

  • เบรดครัมบ์พื้นที่ทํางาน: ตัวเลือกการนําทางจากพื้นที่ทํางานแบบแยกสาขาไปยังพื้นที่ทํางานต้นทาง

    เบรดครัมบ์พื้นที่ทํางานแบบแยกแขนง

  • แท็บการควบคุมแหล่งที่มา - สาขาที่เกี่ยวข้อง

    สาขาที่เกี่ยวข้องกับพื้นที่ทํางานแบบแยกสาขา

Branch-Out การดําเนินการ

ตามค่าเริ่มต้น เมื่อการดําเนินการแยกสาขาออกเสร็จสมบูรณ์ รายการทั้งหมดจากสาขาต้นทางจะรวมอยู่ในพื้นที่ทํางานเป้าหมาย ลักษณะการทํางานนี้สามารถเปลี่ยนแปลงได้โดยการเลือก เลือกรายการทีละรายการ (แสดงตัวอย่าง) ระหว่างการตั้งค่าการแยกสาขาออก ซึ่งอนุญาตให้รวมเฉพาะรายการที่เลือกไว้ในพื้นที่ทํางานเป้าหมายเพื่อให้มีเวลาในการเขียนโค้ดได้เร็วขึ้น

ในฐานะนักพัฒนา Fabric โฟลว์การแยกสาขาออกจะเป็นดังนี้:

  1. จากแท็บ สาขา ของเมนู ตัวควบคุมแหล่งข้อมูล ให้เลือก สาขาออกจากพื้นที่ทํางานอื่น

    สกรีนช็อตของตัวเลือกแยกสาขาการควบคุมต้นทาง

  2. ระบุว่าคุณต้องการสร้างพื้นที่ทํางานใหม่หรือแยกสาขาออกเป็นพื้นที่ทํางานที่มีอยู่ ระบุชื่อของสาขาและพื้นที่ทํางานใหม่ หรือเลือกพื้นที่ทํางานที่มีอยู่จากรายการดรอปดาวน์ ตรวจสอบ เลือกรายการทีละรายการ (ดูตัวอย่าง) ในกรณีที่คุณต้องการทํางานเฉพาะกับชุดย่อยของรายการในพื้นที่ทํางานแบบแยกสาขา คุณจะเห็นภาพหน้าจอต่อไปนี้เมื่อสร้างพื้นที่ทํางานใหม่ที่มีการแยกสาขาแบบเลือก

Note

เมื่อคุณแตกแขนงไปยังพื้นที่ทํางาน รายการใด ๆ ที่ไม่ได้บันทึกไปยัง Git อาจสูญหาย เราขอแนะนําให้คุณบันทึกรายการใดๆ ที่คุณต้องการเก็บไว้ก่อนทําการแบ่งสาขา

สกรีนช็อตของรายการที่เลือกทีละรายการ

สำคัญ

เมื่อแยกสาขาไปยังพื้นที่ทํางานที่มีอยู่ บางรายการอาจถูกลบออก คุณต้องยืนยันว่าคุณเข้าใจความเสี่ยงนี้ก่อนดําเนินการ

  1. คลิกปุ่ม แยกสาขาออก (ขั้นตอนที่ 4-8 จะใช้เฉพาะเมื่อเลือก เลือกรายการทีละรายการ (ดูตัวอย่าง) )
  2. การดําเนินการนี้จะเปิดกล่องโต้ตอบเพื่อเลือกรายการสําหรับพื้นที่ทํางานของคุณ

Note

ถ้าสาขา Git มีรายการจํานวนมาก กล่องโต้ตอบ Select items อาจใช้เวลาสักครู่ในการโหลด

  1. เลือกรายการที่คุณต้องการสําหรับพื้นที่ทํางานนี้

  2. คลิกสร้างสาขา สกรีนช็อตของสร้างสาขา

  3. เมื่อคุณทําการแยกสาขาแบบเลือก จําเป็นต้องมีการขึ้นต่อกันของรายการทั้งหมด คุณสามารถใช้ปุ่ม เลือกรายการที่เกี่ยวข้อง เพื่อจุดประสงค์นั้น ถ้าคุณไม่เลือกการขึ้นต่อกันอย่างใดอย่างหนึ่ง คุณจะเห็นสิ่งต่อไปนี้: สกรีนช็อตของข้อผิดพลาดการขึ้นต่อกัน

  4. เมื่อสร้างสาขาแล้ว คุณสามารถตรวจสอบว่าคุณอยู่ในสาขาที่เลือกได้จากไอคอนในแถบสถานะด้านล่าง (มุมล่างซ้าย) มันบอกว่าสาขาที่เลือก สกรีนช็อตของไอคอนสาขาที่เลือก

  5. Fabric สร้างพื้นที่ทํางานแบบแยกสาขาใหม่ คุณจะไปยังพื้นที่ทํางานใหม่โดยอัตโนมัติ ประกอบด้วยรายการทั้งหมดหรือเฉพาะรายการที่คุณเลือกในกรณีที่มีการแยกสาขาแบบเลือก

    พื้นที่ทํางานจะซิงค์กับสาขาคุณลักษณะของคุณ และกลายเป็นสภาพแวดล้อมแยกต่างหากให้ทํางานตามที่แสดง ตอนนี้คุณสามารถทํางานในพื้นที่ทํางานแบบแยกสาขาใหม่นี้ได้แล้ว การซิงค์อาจใช้เวลาสักครู่ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับสาขาออก ดูเคล็ดลับการแก้ไขปัญหา

    แผนภาพที่แสดงเวิร์กโฟลว์ของการยอมรับ

  6. บันทึกการเปลี่ยนแปลงของคุณ และ ยอมรับ การเปลี่ยนแปลงลงในสาขาคุณลักษณะ

  7. เมื่อพร้อมแล้ว ให้สร้าง PR ไปยังสาขาหลัก กระบวนการตรวจทานและผสานจะดําเนินการผ่านผู้ให้บริการ Git ที่เกี่ยวข้องตามการตั้งค่าคอนฟิกที่ทีมของคุณกําหนดไว้สําหรับที่เก็บนั้น

เมื่อการตรวจสอบและผสานเสร็จสมบูรณ์ จะมีการสร้างการยอมรับใหม่ไปยังสาขาหลัก การยอมรับนี้จะแจ้งให้ผู้ใช้อัปเดตเนื้อหาในพื้นที่ทํางานของทีม Dev ที่มีการเปลี่ยนแปลงที่ผสาน

สําหรับข้อมูลเพิ่มเติม ให้ดูที่ แยกสาขาข้อจํากัด

Note

หากคุณตั้งค่า automation flow ที่ดําเนินการเหมือนกับ branch-out ให้ใช้ Create Workspace Relation API เพื่อดูตัวอย่างเพื่อสร้างความสัมพันธ์ workspace ที่แตกแขนง เรียกใช้ API นี้หลังจากที่โฟลว์เตรียมพื้นที่ทํางานสาขา สร้างสาขา Git และกําหนดค่าการเชื่อมต่อ Git ของพื้นที่ทํางาน

วิธีเพิ่มรายการเพิ่มเติมไปยังพื้นที่ทํางานด้วยการแยกสาขาแบบเลือก

เมื่อนักพัฒนา Fabric จําเป็นต้องเพิ่มรายการที่ไม่ได้เลือกในระหว่างการดําเนินการแยกสาขาออก ขั้นตอนด้านล่างจะอธิบายวิธีการเพิ่มรายการเพิ่มเติมไปยังพื้นที่ทํางาน:

  1. ไปที่พื้นที่ทํางาน Fabric ที่จําเป็น และเลือก ตัวควบคุมแหล่งที่มา ที่ด้านบน
  2. ทางด้านขวา ให้เลือกสัญลักษณ์ สาขาออก
  3. ใช้ดรอปดาวน์ แล้วเลือก "เลือกสินค้าเพิ่มเติม"
  4. การดําเนินการนี้จะเปิดกล่องโต้ตอบเพื่อเลือกรายการสําหรับพื้นที่ทํางานของคุณ กล่องโต้ตอบเลือกรายการจะแสดง เฉพาะ รายการจากสาขา git ที่ไม่ได้เลือกไว้ก่อนหน้านี้
  5. เลือกรายการเพิ่มเติมที่คุณต้องการเพิ่มไปยังพื้นที่ทํางาน
  6. คลิก เพิ่ม รายการที่เลือกจะถูกเพิ่มไปยังการอัปเดตที่ค้างอยู่ในบานหน้าต่างควบคุมแหล่งที่มา
  7. คลิกอัปเดตทั้งหมด การดําเนินการนี้ทําการอัปเดตจาก git และสร้างรายการในพื้นที่ทํางาน

เปลี่ยนสาขา

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

เมื่อคุณสลับสาขา พื้นที่ทํางานจะซิงค์กับสาขาใหม่และรายการทั้งหมดในพื้นที่ทํางานจะถูกแทนที่ ถ้ามีสินค้าเดียวกันในหลายเวอร์ชันในสาขาแต่ละสาขา สินค้าจะถูกแทนที่

การเจาะสาขาสวิตช์ไม่ส่งผลต่อความสัมพันธ์ (ลิงก์) ระหว่าง พื้นที่ทํางานแบบแยกสาขา และพื้นที่ทํางานต้นทาง การสลับสาขาเป็นการเปลี่ยนแปลงสถานะ Git ดังนั้น การสลับสาขาจะไม่สร้างหรือปรับเปลี่ยนความสัมพันธ์ของพื้นที่ทํางาน ถ้าพื้นที่ทํางานมีความสัมพันธ์อยู่แล้ว พื้นที่ทํางานนั้นจะถูกเก็บรักษาไว้

โดยค่าเริ่มต้น การสลับสาขา Git ของพื้นที่ทํางานที่เชื่อมต่อ (หรือเช็คเอาท์สาขาใหม่) จะถูกจํากัดไว้เฉพาะผู้ดูแลระบบพื้นที่ทํางานเท่านั้น อย่างไรก็ตาม ผู้ดูแลระบบพื้นที่ทํางานสามารถเปิดใช้งานการตั้งค่าต่อพื้นที่ทํางาน อนุญาตให้ผู้ใช้ที่มีบทบาทผู้สนับสนุนเป็นอย่างน้อยเปลี่ยนสาขา Git เพื่อมอบหมายความสามารถในการสลับสาขาให้กับสมาชิก/ผู้สนับสนุน การตั้งค่านี้ได้รับการกําหนดค่าต่อพื้นที่ทํางานและต้องมีการเชื่อมต่อ Git ที่ใช้งานอยู่ สําหรับเมทริกซ์สิทธิ์แบบเต็ม โปรดดู สิทธิ์

Note

เมื่อสลับสาขา ถ้าพื้นที่ทํางานมีรายการในสาขาเก่า แต่ไม่ใช่สาขาใหม่ รายการจะถูกลบออก นอกจากนี้ ในพื้นที่ทํางานที่มีการแยกแบบเลือก การดําเนินการสลับจะรีเซ็ตการเลือกรายการ และรายการทั้งหมดจากสาขาที่สลับจะถูกซิงโครไนส์กับพื้นที่ทํางาน

เมื่อต้องการสลับไปมาระหว่างสาขา ให้ทําตามขั้นตอนเหล่านี้:

  1. จากแท็บสาขาของเมนูควบคุมแหล่งข้อมูล เลือกสลับสาขา

    สกรีนช็อตของตัวควบคุมแหล่งที่มาเช็คเอาท์ตัวเลือกสาขาใหม่

  2. ระบุสาขาที่คุณต้องการเชื่อมต่อหรือสร้างสาขาใหม่ สาขานี้ต้องมีไดเรกทอรีเดียวกันกับสาขาปัจจุบัน

  3. ทําเครื่องหมายใน ฉันเข้าใจว่ารายการพื้นที่ทํางานอาจถูกลบและไม่สามารถกู้คืนได้แล้วเลือก สลับสาขา

    ภาพหน้าจอของการสลับสาขา

คุณไม่สามารถสลับสาขาได้ถ้าคุณมีการเปลี่ยนแปลงที่ยังไม่ได้ผูกมัดในพื้นที่ทํางาน เลือก ยกเลิก เพื่อย้อนกลับและยืนยันการเปลี่ยนแปลงของคุณก่อนที่จะสลับสาขา

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

การแตกสาขาออกข้อจํากัด

  • การออกจากสาขาจําเป็นต้องมีสิทธิ์ที่แสดงในตารางสิทธิ์

  • ต้องมีความจุที่พร้อมใช้งานสําหรับการดําเนินการนี้

  • ข้อจํากัดการตั้งชื่อพื้นที่ทํางานและสาขาทั้งหมดจะใช้เมื่อแยกสาขาไปยังพื้นที่ทํางานใหม่

  • เฉพาะ รายการ ที่ได้รับการสนับสนุนของ Git เท่านั้นจะพร้อมใช้งานในพื้นที่ทํางานใหม่

  • รายการสาขาที่เกี่ยวข้องจะแสดงเฉพาะสาขาและพื้นที่ทํางานที่คุณมีสิทธิ์ในการดูเท่านั้น

  • ต้องเปิดใช้งานการรวม Git

  • เมื่อแยกสาขาออก สาขาใหม่จะถูกสร้างขึ้นและการตั้งค่าจากสาขาเดิมจะไม่ถูกคัดลอก ปรับการตั้งค่าหรือข้อกําหนดใด ๆ เพื่อให้แน่ใจว่ารายการใหม่ตรงตามนโยบายขององค์กรของคุณ

  • เมื่อยกเลิกการเชื่อมต่อ พื้นที่ทํางานแบบแยกส่วน จาก Git ความสัมพันธ์กับพื้นที่ทํางานต้นทางจะถูกลบออกเช่นกัน

  • เมื่อยกเลิกการเชื่อมต่อพื้นที่ทํางานที่เชื่อมต่อ Git ที่มี พื้นที่ทํางานแบบแยกสาขาที่เกี่ยวข้อง ความสัมพันธ์ของพื้นที่ทํางานแบบแยกส่วนทั้งหมดจะถูกลบออกเช่นกัน

  • เมื่อลบพื้นที่ทํางานที่มี พื้นที่ทํางานแบบแยกสาขาที่เกี่ยวข้อง ความสัมพันธ์ของพื้นที่ทํางานแบบแยกส่วนทั้งหมดจะถูกลบออก และพื้นที่ทํางานแบบแยกส่วนจะกลายเป็นพื้นที่ทํางานปกติ

  • เมื่อขยายไปยังพื้นที่ทํางานที่มีอยู่:

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