การนำสาขาที่ผสานมาใช้ซ้ำการปฏิบัติที่ดี?


36

ปัจจุบันฉันเคยสร้างสาขาใหม่ทุกครั้งที่ฉันต้องเพิ่มฟีเจอร์ใหม่ให้กับแอปพลิเคชันของฉัน

เมื่อคุณสมบัติของฉันเสร็จสิ้นและใช้งานได้ฉันจะรวมเข้ากับสาขาหลัก

แต่ต่อมาเมื่อฉันต้องการอัปเดตฟีเจอร์นี้ (เช่นการปรับปรุง) มันจะดีกว่าถ้าจะสร้างสาขาใหม่หรือฉันต้องรีบูทก่อนหน้านี้กับมาสเตอร์การอัพเดตจะรวมกันอีกครั้งหรือไม่

ตัวอย่างเช่นฉันมีสาขาที่เรียกว่า modeling-member ในแอปพลิเคชัน Ruby on Rails ต่อมาฉันต้องเพิ่มคุณสมบัติบางอย่างในโมเดลสมาชิก (ซึ่งสร้างในสาขานี้) ฉันควรทำอย่างไร? รีบูทสาขานี้ด้วยมาสเตอร์อัปเดตโมเดลและรวมมันอีกครั้งหรือเพียงแค่สร้างสาขาใหม่


1
หากโครงการของคุณมีขนาดใหญ่มากการใช้สาขาเก่าซ้ำจะใช้เวลานานมากในการเปลี่ยนและ / หรือปรับปรุง เมื่อเทียบกับไม่กี่วินาทีในการสร้างสาขาใหม่
ซ้ำ

คำตอบ:


33

สร้างสาขาใหม่เนื่องจาก:

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

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

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


7

ใช้สาขาใหม่

สำหรับการตั้งชื่อคุณสามารถพิจารณาใช้รูปแบบภายในที่this_workเป็นส่วนขยายหรือเปลี่ยนเป็นthat_work

ตัวอย่างเช่นคุณสามารถตั้งชื่อสาขาที่สอง

modeling-member--attributes

ด้วย - ส่งสัญญาณว่าชื่อทางด้านซ้ายเป็นสาขาเดิม

เราจัดการปัญหาที่คล้ายกันเนื่องจากเราใช้หมายเลขตั๋วจิราสำหรับชื่อสาขา บางครั้งมีการทำงานเพิ่มเติมเล็กน้อยสำหรับตั๋วเดียวกัน บางครั้งการเปลี่ยนแปลงฐานข้อมูลไม่สามารถย้อนกลับได้ ในกรณีดังกล่าวเราใช้ตัวอย่างเช่นสาขาดั้งเดิม SEND-123 และสาขาที่สองเพื่อเป็น SEND-123a


0

ถ้าคุณต้องการบันทึกเฉพาะการคอมมิทจากการผสานบนมาสเตอร์และคุณกำลังใช้ gitHub คุณสามารถใช้ "Fork" กับทุก ๆ ฟีเจอร์ใหม่และทำการร้องขอ pull และยอมรับ pull pull หลังจากที่คุณทำเสร็จทุกฟีเจอร์ใหม่

ฉันไม่แนะนำให้ทำงานในสาขาเก่าเนื่องจากคุณสามารถได้รับความขัดแย้งเมื่อรวมกับหัวหน้าของหลักสูตรและแน่นอนว่ามันไม่จำเป็นต้องทำ ...


4
"u" ไม่ใช่คำภาษาอังกฤษ ข้อความพูดดังกล่าวควรถูกสงวนไว้สำหรับข้อความและตัวสั่นด้วยความตื่นเต้น
Gort the Robot

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