การใช้คอมไพล์อย่างถูกต้องในทีมเล็ก ๆ


14

อะไรจะเป็นวิธีที่ง่ายที่สุดในการใช้คอมไพล์อย่างถูกต้องในทีมเล็ก ๆ ของนักพัฒนาประมาณ 5 คนโดยมีเซิร์ฟเวอร์หนึ่งตัวที่ใช้งานแอปพลิเคชันสด


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

10
@Eurhoric ขึ้นอยู่กับการใช้เครื่องมือและขั้นตอนการทำงานของคุณ

3
@ONOZ โปรดอธิบายวิธีการทำงานปัจจุบันของคุณโดยละเอียด

22
@Eparhoric - ทัศนคติที่แคบอย่างไม่น่าเชื่อ เพื่อความสะดวกในการแยกและรวมเข้าด้วยกันคนเดียวgitหรือhgเต้น VCS ส่วนกลางส่วนใหญ่ ฉันสามารถเข้าใจผู้คนที่ได้รับความรำคาญจากผู้คนอย่างต่อเนื่องเกี่ยวกับความยิ่งใหญ่ของ DVCSs แต่ฝังหัวคุณไว้บนพื้นทรายและปฏิเสธที่จะยอมรับว่าคุณสามารถพัฒนาเวิร์กโฟลว์ที่แตกต่างกันและมีประสิทธิภาพมากขึ้นด้วย DVCS
Mark Booth

8
@Euphoric การใช้ Git ไม่ได้หมายความว่าการควบคุมแหล่งที่มาของคุณคือ "การกระจายอำนาจ" ฉันทำงานเป็นทีมเล็ก ๆ และเราใช้ Git และเรายังมีที่เก็บส่วนกลาง นั่นคือสิ่งที่คุณผลักดัน การใช้ DVCS ไม่ได้หมายความว่าทุกคนจะถูกดึงออกจากบุคคลอื่นโดยไม่มีจุดศูนย์กลาง
Kyralessa

คำตอบ:


11

ฉันแนะนำให้คุณสร้างสาขา:

  • การผลิต
  • เจ้านาย
  • ในประเทศ

สาขาการผลิตคือสาขา "สด" เป็นแอปพลิเคชั่นที่ใช้งานอยู่ตอนนี้

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


หากคุณอยู่ในสถานการณ์ที่ปรึกษาหรือองค์กรคุณอาจต้องการสาขาสำหรับเอือด
John MacIntyre

เห็นด้วยฉันกำลังใช้กระบวนการทำงานนี้
Cheung

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

1
เนื่องจากสาขาในพื้นที่สามารถตั้งชื่อเป็น XXX-feature-name ดังนั้นคุณจึงมีสาขาหลักเป็นผสานของสาขาคุณลักษณะทั้งหมดที่คุณต้องการในการผลิต ใช่: เนื่องจากคุณสมบัติบางอย่างอาจไม่รวม
sensorario

7

เริ่มง่ายๆและสร้างเวิร์กโฟลว์ที่ซับซ้อนมากขึ้นตามที่คุณต้องการ

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

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

ภายในพื้นที่เก็บข้อมูล git ของคุณสร้างproductionสาขาและtestสาขา

นักพัฒนาควรทำงานในสาขาฟีเจอร์ท้องถิ่นหรือระยะไกลของพวกเขาจนกว่าพวกเขาจะเสร็จสมบูรณ์และรวมเข้าmasterด้วยกัน จากที่นี่พวกเขาสามารถรวมเข้าไปในtestสาขาสำหรับการปรับใช้ในสภาพแวดล้อมการทดสอบและเมื่อพวกเขาผ่านการทดสอบพวกเขาสามารถผสานเข้ากับproductionสาขา

ด้วยวิธีนี้คุณจะสามารถเห็นสิ่งที่ใหม่และไม่ได้ทดสอบสิ่งที่ทดสอบ แต่ยังไม่ได้ปรับใช้กับการผลิตและสิ่งที่เป็นจริงในการผลิต


ความเห็นที่น่าสนใจผมจะพิจารณาคอมไพล์แตกแขนงรูปแบบที่จะฝ่าฝืนข้อตกลงสำหรับการคอมไพล์บนมืออื่น ๆ มันอาจจะไม่ชัดเจนดังนั้นเพื่อผู้ใช้ที่ไม่ใช่คอมไพล์
wirrbel

@wirrbel ไม่มีสิ่งต่างๆเช่นรูปแบบคอมไพล์แยกคุณสามารถใช้สิ่งที่แตกแขนงรูปแบบที่คุณต้องการใช้เพื่อให้พอดีกับกระบวนการทำงานของคุณ คนที่ฉันแนะนำที่นี่นั้นง่ายและน่าจะดีกว่าสำหรับผู้ใช้ที่ไม่มีประสบการณ์มากกว่ารูปแบบการแยก Git ที่ประสบความสำเร็จแต่ AsGbm น่าจะดีกว่าสำหรับผู้ใช้ที่มีประสบการณ์มากกว่าแต่ไม่เหมาะสำหรับบางทีม (คนที่ต้องการรักษาหลายรุ่นตัวอย่างเช่นสาขา) อย่างที่ฉันได้กล่าวไปแล้วปัญหาของ AsGbm คือมันดูซับซ้อนเกินไป gitgitgit
Mark Booth

ฉันเห็นประเด็นของคุณ สำหรับฉันฉันเริ่มต้นด้วย AsGbm (หรือปรับให้เข้ากับความต้องการของฉัน) มันเป็นที่สมบูรณ์แบบตั้งแต่ผมได้เห็นวิธีการคอมไพล์สามารถนำมาใช้ที่แตกต่างกว่า SVN
wirrbel

7

เรามีสถานการณ์ที่คล้ายกันยกเว้นเรามีแอปพลิเคชันเว็บหลายสิบไม่ใช่ เราใช้โมเดลการแยกสาขาของ Git ที่ประสบความสำเร็จมาแล้วในปีที่แล้วโดยไม่มีการร้องเรียนที่สำคัญ


ฉันใช้สิ่งนี้เพื่อสร้างโมเดลการแตกแขนงในช่วงไม่กี่ปีที่ผ่านมา มันเป็นรูปแบบที่ยอดเยี่ยม
John MacIntyre

ยกนิ้วให้กับลิงก์
Rahul Gautam

0

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


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