อุปสรรคในการใช้ Git Flow ในการโค่นล้ม


10

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

ฉันได้พบรุ่นแขนงที่แตกต่างกันจะมีความซับซ้อนมากกว่า แต่รุ่นหนึ่งที่ฉันไม่เข้าใจธรรมอย่างชัดเจนคือการไหลของคอมไพล์ ฉันอยากรู้ว่ายาก / ไม่พึงประสงค์มันจะใช้รูปแบบของการเปลี่ยนแปลงในการโค่นล้ม เห็นได้ชัดว่าจะมีความแตกต่างในแง่ของคนที่ทำงานร่วมกันในสาขา สาขาคุณลักษณะจะต้องมีการรวมศูนย์แทนที่จะ จำกัด อยู่เฉพาะที่เก็บในท้องที่ แต่แนวคิดอื่น ๆ ของแบบจำลองควรจะทำซ้ำได้ในการโค่นล้มเมื่อฉันเข้าใจ

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

สิ่งที่จะเป็นข้อกังวลที่ใหญ่ที่สุดกับวิธีนี้ มีวิธีการที่ชัดเจนในทำนองเดียวกันที่เป็นธรรมชาติมากขึ้นในการโค่นล้ม?

คำตอบ:


12

Gitflow ขึ้นอยู่กับแนวทางปฏิบัติที่ดีที่สุดของการกำหนดเวอร์ชันของซอร์สโค้ดและการแบรนช์ บทความที่ดีมากเกี่ยวกับเรื่องนี้คือกลยุทธ์การแยกทางของ SCM ขั้นสูง

จุดนั้นทำให้แวนซ์ในบทความการเชื่อมโยงที่เป็นที่สาขาที่แตกต่างกันมีแตกต่างกันบทบาท เขาระบุบทบาทของ:

  1. ฉีด (สาขาทั้งหมดจากที่นี่)
  2. การพัฒนา (ที่ทำงานการพัฒนาจะทำ)
  3. การบำรุงรักษา (ในกรณีที่งานบำรุงรักษาเสร็จสิ้น)
  4. การสะสม (นำสิ่งต่าง ๆ มารวมกันเพื่อเตรียมพร้อมสำหรับการเปิดตัว)
  5. บรรจุภัณฑ์ (ทำบิลด์สำหรับการวางจำหน่าย)

ใน gitflow นี่คือ:

  1. พัฒนา
  2. สาขาคุณสมบัติ
  3. สาขาฮอตฟิกซ์
  4. ปล่อยสาขา
  5. เจ้านาย

บทความเกี่ยวกับการแตกแขนงถูกเขียนด้วย Perforce ในใจ Perforce เป็น VCS ที่รวมศูนย์เหมือน svn คือ รูปแบบของการแตกแขนงที่เขาอธิบายอย่างสมบูรณ์แมปไปยัง svn

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

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


1
การกลับไปสู่แนวคิดที่นำการออกแบบของ gitflow มาใช้เป็นการปรับปรุงที่ชาญฉลาดของคำถามเดิม!
user40989

@ user40989 ฉันไม่แน่ใจว่า Vincent Driessen (nvie) เคยอ่านบทความหรือไม่ที่นำแนวคิดเรื่องการแตกแขนงนี้ออกมาหรือว่าเขาค้นพบสิ่งนี้ด้วยตัวเอง ไม่ว่าจะด้วยวิธีใดการรับรู้ถึงบทบาทที่จำเป็นสำหรับกระบวนการทำงานผ่านการควบคุมเวอร์ชันทำให้ง่ายต่อการเห็นความคล้ายคลึงกันระหว่างแนวทางและแนวทางปฏิบัติที่ดีที่สุด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.