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

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

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

Note

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

พื้นที่ทํางานสาขา

ความสัมพันธ์ระหว่าง branch workspace มีการแสดงผลหลายแบบใน Fabric UI:

  • ต้นไม้พื้นที่ทํางาน: แทนพื้นที่ทํางานต้นทางในฐานะแม่ของพื้นที่ทํางานสาขา

    ภาพหน้าจอของโครงสร้างต้นไม้พื้นที่ทํางานพร้อมพื้นที่ทํางานสาขา

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

    ภาพหน้าจอของเบาะแสพื้นที่ทํางานสาขา

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

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

การดําเนินงานแบบแยกสาขา

ตามค่าเริ่มต้น เมื่อการดําเนินการแยกสาขาออกเสร็จสมบูรณ์ รายการทั้งหมดจากสาขาต้นทางจะรวมอยู่ในพื้นที่ทํางานเป้าหมาย พฤติกรรมนี้สามารถเปลี่ยนแปลงได้โดยเลือก Select items ทีละ รายการระหว่างการตั้งค่า branch-out เพื่อให้เฉพาะรายการที่เลือกเท่านั้นถูกรวมไว้ใน workspace เป้าหมาย เพื่อให้ประสบการณ์การเขียนโค้ดรวดเร็วขึ้น

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

  1. ในแผงควบคุมต้นทาง ให้เลือก Branch out

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

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

Note

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

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

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

สำคัญ

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

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

  1. คลิกปุ่ม Branch out (ขั้นตอนที่ 5-9 จะใช้เฉพาะเมื่อเลือก รายการทีละ รายการ)

  2. การดําเนินการนี้จะเปิดกล่องโต้ตอบเพื่อเลือกรายการสําหรับพื้นที่ทํางานของคุณ

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

  4. คลิกสร้างสาขา

    สกรีนช็อตของสร้างสาขา

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

    Note

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

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

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

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

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

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

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

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

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

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

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

เปลี่ยนสาขา

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

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

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

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

Note

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

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

  1. ในแผงควบคุมต้นทาง ให้เลือก ตัวเลือกเพิ่มเติม (...) แล้วเลือก สวิตช์สาขา

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

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

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

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

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

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

ขยายขอบเขตด้วยแผนการติดตั้ง

แนบแผนการปรับใช้เมื่อรายการต้องปรับใช้ตามลําดับที่กําหนด หรือเมื่อสมุดโน้ต ท่อข้อมูล หรือการดําเนินการอื่น ๆ ที่รองรับต้องรันระหว่างการแยกสาขาแผนการปรับใช้ควบคุมวิธีที่ Fabric เติมเต็มพื้นที่ทํางานที่แตกแขนง;ไม่เปลี่ยนแปลงวิธีการสร้างสาขาหรือ workspace ของ Git

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

หากต้องการขยายแผนการปรับใช้:

  1. จากแท็บ Branches ในแผง ควบคุม Source ให้เลือก Branch out with deployment plan

    ภาพหน้าจอเมนูควบคุมต้นทางพร้อมแผนการปรับใช้ที่เน้นไว้

  2. กําหนดค่าสาขาใหม่และพื้นที่ทํางานเป้าหมาย เลือก ถัดไป

    ภาพหน้าจอของตัวช่วยสร้างสาขาพร้อมแผนการปรับใช้พร้อมการตั้งค่าสาขาและพื้นที่ทํางาน

  3. เลือกแผนการปรับใช้ในตัวช่วยสร้างการแยกสาขา หากต้องการใช้พฤติกรรมการแยกสาขามาตรฐาน ให้เลือก ไม่มีแผนการปรับใช้

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

  5. เลือก สร้างสาขา

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

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

การขยายงานโดยไม่มีแผนการปรับใช้ยังคงทํางานเหมือนเดิม: Fabric จะปรับใช้รายการที่เลือกโดยใช้การจัดการการพึ่งพามาตรฐาน และไม่รันการดําเนินการก่อนการปรับใช้หรือหลังการปรับใช้

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

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