เรากำลัง bootstrapping ทีมใหม่ที่มีขนาดเล็กมาก (พูด 2-5) คำถามของฉันคือ: การควบคุมเวอร์ชันประเภทใดเหมาะกับทีมประเภทนี้มากที่สุดทั้งแบบรวมศูนย์หรือกระจาย
เรากำลัง bootstrapping ทีมใหม่ที่มีขนาดเล็กมาก (พูด 2-5) คำถามของฉันคือ: การควบคุมเวอร์ชันประเภทใดเหมาะกับทีมประเภทนี้มากที่สุดทั้งแบบรวมศูนย์หรือกระจาย
คำตอบ:
กระจายไปทุกทางไม่มีจุดสำหรับรวมศูนย์ IMHO อีกต่อไปโดยเฉพาะถ้าคุณกำลังพูดถึงการพัฒนาทีม
การลงคะแนนอีกครั้งสำหรับ Mercurial ไม่ยุ่งยากในการติดตั้งภายใต้ windows และbitbucket.orgมีที่เก็บฟรี (ที่สามารถเป็นส่วนตัว) พร้อมพื้นที่ จำกัด
หากคุณวางแผนที่จะทำงานในโครงการโอเพ่นซอร์สดูเหมือนว่า git และ Github นั้นจะมีความเพียงพอ / เป็นที่นิยมมากกว่า อย่างไรก็ตามหากคุณยังไม่ได้เข้าร่วม DVCS ฉันขอแนะนำให้คุณเริ่มต้นด้วย Mercurial และคำแนะนำที่ยอดเยี่ยมนี้
อาจเป็นคำตอบที่ดีที่สุดคือ "สิ่งที่คุณพอใจ" แม้เมื่อทำงานเรื่องส่วนตัวฉันก็ใช้ Git ดูเหมือนว่าจะทำการปรับขนาดได้ดีขึ้น ๆ ลง ๆ และประสบการณ์ที่ จำกัด ของฉันกับ Mercurial ก็เหมือนกัน
ฉันคิดว่าคุณควรเลือกสิ่งที่คุณพอใจ ในทีมขนาดเล็กคุณจะไม่มีรหัสต้นไม้ที่แตกต่างกัน (เช่นเคอร์เนล Linux) ดังนั้นที่เก็บส่วนกลางจึงตกลง แต่คุณสามารถตั้งค่านี้ได้ด้วย VCS แบบกระจาย ดังนั้นฉันจะไปกับความนิยมและประสบการณ์ส่วนตัว ความนิยมคือ SVN คอมไพล์และ Mercurial คุณควรตัดสินใจว่าจะใช้กับทีมของคุณแบบไหนดีที่สุด (ประสบการณ์การสนับสนุนเครื่องมือใน IDE ที่คุณเลือกเป็นต้น)
มันขึ้นอยู่กับว่านักพัฒนาของคุณจะพัฒนาโค้ดจำนวนมากแบบออฟไลน์หรือไม่ แต่เพียงเลือกระหว่างพื้นที่เก็บข้อมูลแบบกระจายหรือส่วนกลางเนื่องจากนี่เป็นสิ่งแรกที่คุณควรตัดสินใจ จากนั้นหากคุณตัดสินใจว่าวิธีการรวมศูนย์ทำงานได้ดีกว่า SVN คือสิ่งที่คุณต้องการ ในอีกด้านหนึ่งถ้าคุณใช้วิธีกระจายมากกว่าใช้คอมไพล์แม้ใน windows มันก็ดีพอตั้งแต่ตอนนี้คุณมีคอมไพล์เต่า (อินเทอร์เฟซแบบเดียวกันกับ svn) นอกจากนี้อย่าพึ่งการสนับสนุน IDE มากนักเพราะคุณอาจได้รับความประหลาดใจที่น่ารังเกียจถ้าคุณเคยใช้มันและคุณอาจพบว่าไฟล์ที่ไม่ควรยอมรับนั้นกระทำโดย IDE ในนามของคุณ
ถามทีมของคุณหากมีคนต้องการดูแล มันจะดีกว่ามากที่จะมีระบบที่มั่นคงและผู้รับผิดชอบมากกว่าระบบที่ดีเมื่อไม่มีใครสนใจและไม่สามารถกู้คืนได้จากการสำรองข้อมูล
หากมีบุคคลดังกล่าว - เขาจะรู้แล้วว่าควรใช้อะไรดังนั้นควรยอมรับการตัดสินใจของเขา ถ้าไม่ได้รับโซลูชันที่โฮสต์ มันจะโง่มากลอง GIT (หนึ่งในดีที่สุด) ถ้านักพัฒนาทั้งหมดไม่เคยสัมผัส Shell / Linux
นอกจากนี้ยังขึ้นอยู่กับจำนวนของคนที่ "ไม่ใช่ช่างเทคนิค" ที่ต้องอ่าน / มีส่วนร่วม ตรวจสอบให้แน่ใจว่าพวกเขาสามารถใช้งานได้และมีเครื่องมือให้ใช้
SVN ได้รับการสนับสนุนอย่างกว้างขวางในเครื่องมือ เครื่องมือเป็นกุญแจสำคัญ คนอื่นจะมีชุดทักษะที่แตกต่างกัน บางคนจะชอบบรรทัดคำสั่งบางคนจะชอบเครื่องมือที่ใช้ IDE บางคนจะชอบเครื่องมือกราฟิก ในขณะนี้ SVN ดูเหมือนจะเป็นเครื่องมือที่ได้รับการสนับสนุนอย่างกว้างขวางที่สุด
นอกเหนือจาก Mercurial หรือ Git
ฉันคิดว่าใน บริษัท เล็ก ๆ มีข้อโต้แย้งว่ามีบางสิ่งรวมศูนย์ (คิดว่าเป็นตัวอย่างเกี่ยวกับการสำรองข้อมูลนอกสถานที่เมื่อคุณมีเพียง 2 คนที่ทำงานในโครงการและพวกเขาอยู่ในอาคารเดียวกันและมีไฟไหม้การกระจายอำนาจไปยังคอมพิวเตอร์สองเครื่องทั้งหมดอาจไม่เพียงพอ)
อย่างไรก็ตาม: การมีวิธีการแก้ปัญหาแบบรวมศูนย์บางส่วนไม่ได้ จำกัด คุณแค่ระบบรวมศูนย์ คุณสามารถผลักดันไปยังเซิร์ฟเวอร์ภายนอกด้วยบางสิ่งเช่น git หรือ mercurial