การรักษาประวัติ git ที่สะอาดเมื่อใช้ gitflow - unmerged มุ่งมั่นพัฒนา


9

การใช้ gitflow เมื่อสร้างrelease-1.0.0สาขาและรวมเข้ากับทั้งสองmasterและdevelopทั้งสองสาขาจะมีความมุ่งมั่นที่ขาดหายไป:

  • masterเคยมีความมุ่งมั่นที่release-1.0.0จะผสานกับdevelop
  • developเคยมีความมุ่งมั่นที่release-1.0.0จะผสานกับmaster

แต่หลังจากที่hotfix-1.0.1ถูกสร้างขึ้นและรวมกับmasterเมื่อมันถูกรวมกับdevelopการมุ่งมั่นที่จะผสานจะรวมถึงการกระทำก่อนหน้านี้ที่release-1.0.0ได้รับการรวมmaster; ดังนั้นมันจะเป็นดังนี้:

User 'john doe' is trying to merge the following commits into 'develop' from 'hotfix-1.1.1'.

* merge release-1.0.0 to master
* merge release-1.1.0 to master
* Fix shopping cart critical bug

หากเสียงนี้ทำให้เกิดความสับสนคุณสามารถสังเกตเห็น everytie นี้คุณเห็นdevelopมักจะเป็นคู่ของกระทำหลังmaster(แม้ว่าการพัฒนาในทางทฤษฎีควรเท่านั้นจะไปข้างหน้าเนื่องจากเป็นสาขาหลัก. กระทำเหล่านี้จะผสานจากrelease-x.x.xไปmaster)

สิ่งนี้ควรจัดการเพื่อรักษาประวัติที่สะอาดหรือไม่?


โปรดกำหนด "ประวัติการทำความสะอาด"
Jace Browning

3
ต้องการประวัติที่สะอาดหรือไม่? อย่าใช้ gitflow โดยคำจำกัดความก่อให้เกิดมลพิษประวัติของคุณ ให้คิดถึงสิ่งที่คุณต้องการและสร้างเวิร์กโฟลว์รอบ ๆ แทนดังนั้นมันจึงเหมาะกับวิธีที่คุณต้องการทำงานจริงๆ
FP

1
การผสานหลักเป็น "สำเนา" ไม่จำเป็นต้องผสานเพื่อพัฒนา ทำการแก้ไขด่วนจากสาขาที่วางจำหน่ายก่อนหน้านี้ไม่ใช่หลักและผสานกับทั้งสองจากที่นั่นและคุณจะไม่มีปัญหา อาจารย์ไม่ได้เพิ่มโมเดลมากนักดังนั้นคุณจึงสามารถวางได้อย่างสมบูรณ์ IMO
axl

@axl ฉันเข้าใจว่าคุณหมายถึงอะไร แต่ฉันพยายามติดตาม gitflow ให้ใกล้ที่สุดเท่าที่จะเป็นไปได้ ฉันอยากจะไม่ทำ "แฮ็ค" ใด ๆ เพราะเนื่องจาก gitflow ได้รับการยอมรับจากนักพัฒนาหลายคนแล้วพวกเขาควรจะมีทางออกสำหรับสิ่งที่เรียบง่ายนี้อยู่แล้ว
Christopher Francisco

มีการพูดคุยกันหลายครั้งเกี่ยวกับวิธีแก้ปัญหาต่างๆด้วย GitFlow ใน GitHub และที่อื่น ๆ บางครั้งก็ไม่มีกระสุนเงิน
axl

คำตอบ:


4

ฉันคิดว่าวิธีการที่ดีคือหลีกเลี่ยงการมีสาขา "หลัก" สองสาขาหลักและการพัฒนาเป็นประเภทซ้ำซ้อน มันอธิบายอย่างละเอียดที่นี่ตราสินค้าcactus-flowโดยผู้เขียน

บางจุดโดดเด่นตรงข้ามกับ git-flow:

  • เพียงหนึ่งสาขาหลัก
  • ผสานอย่างรวดเร็วไปข้างหน้าเท่านั้น

สำหรับฉันสุดท้ายคือสิ่งสำคัญหลังจากใช้ git-flow เป็นเวลานานฉันยังไม่เห็นสิ่งที่มีประโยชน์เกี่ยวกับการ--no-ffผสาน

ฉันพยายามติดตาม gitflow ให้ใกล้เคียงที่สุด ฉันอยากจะไม่ทำ "แฮ็ค" ใด ๆ เพราะเนื่องจาก gitflow ได้รับการยอมรับจากนักพัฒนาหลายคนแล้วพวกเขาควรจะมีทางออกสำหรับสิ่งที่เรียบง่ายนี้

IMHO นั่นคือความผิดพลาดครั้งใหญ่ของคุณ ไม่มีเหตุผลใดที่คุณจะยึดติดกับคอมไพล์มากที่สุดเท่าที่จะทำได้ อาจใช้ในโครงการหลายพันโครงการ แต่ไม่ส่งผลกระทบต่อคุณไม่ทำให้ดี

Git-flow เป็นจุดเริ่มต้นที่ดี แต่คุณควรคิดถึงการปรับให้เข้ากับเครื่องมือและเวิร์กโฟลว์ของคุณแทนที่จะเป็นวิธีอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.