เหตุผลใดที่จะไม่ใช้ระบบควบคุมหลายเวอร์ชัน?


9

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

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

มีเหตุผลใดบ้างที่ฉันไม่สามารถใช้ Mercurial สำหรับพื้นที่เก็บข้อมูลในพื้นที่ของฉันเอง แต่ผลักดันทั้งหมดไปที่ที่เก็บโฮสต์ GIT และ Mercurial หรือมีเหตุผลที่ดีที่จะไม่ทำฉันแน่ใจว่าเป็นไปได้


2
วิธีเดียวที่ฉันสามารถดูการทำงานที่ถ้าใครอยู่เสมอสำเนาเผด็จการและคนอื่น ๆมักจะเกิดจากคนแรก วิธีนี้ไม่มีความสับสนที่เป็นไปได้
Joachim Sauer

ขอบคุณนั่นคือสิ่งที่ฉันคิด - Git จะเป็นทาสของ Mercurial Mercurial นั้นใช้งานได้ตามปกติสำหรับฉันแล้วกดจาก Mercurial ไปที่ Git เพื่อให้ผู้ใช้ Git สามารถเข้าถึงสาขาของฉัน (โดยไม่มีเสียงระฆังและเสียงนกหวีด)
Jon Story

คำตอบ:


8

คุณไม่ควรทำสิ่งนี้ด้วยเหตุผลเดียวกันกับที่คุณไม่ควรมีตัวแปรที่พยายามติดตามสถานะของอีกอัน - คุณอาจสูญเสียการติดตามเวอร์ชันที่มีสิทธิ์


หนึ่งจะเป็นสำเนาที่เชื่อถือได้ - Mercurial ในกรณีนี้เพราะมันเป็นสิ่งที่ฉันใช้เพื่อติดตามการเปลี่ยนแปลงทำงานกับ patch หลาย ๆ ตัว ฯลฯ Git จะเป็นทาสสำเนาของคลังเก็บ Mercurial เพื่อให้สมาชิก ชุมชนที่คุ้นเคยกับ Git แต่ไม่ใช่ Mercurial เพื่อรับสำเนาของสาขาของฉัน ผู้ที่มีความสนใจในแพทช์ส่วนบุคคลจะต้องใช้ Mercurial อย่างชัดเจน แต่ฉันพยายามที่จะอยู่ในการประชุมของโครงการในขณะที่ทำให้ชีวิตง่ายขึ้นสำหรับตัวเอง
Jon Story

ขอบคุณสำหรับความคิดเห็น. มันไม่ได้ทั้งหมดด้วยเหตุผลนี้ (ฉันเพิ่งตัดสินใจว่าฉันชอบ GIT และสามารถมีชีวิตอยู่ได้โดยไม่ต้องรอคิว mercurial) แต่คำตอบของคุณทำให้ฉันรู้ว่าการทำซ้ำซ้อนนั้นไร้ประโยชน์หากไม่สามารถหลีกเลี่ยงได้ซึ่งในกรณีนี้
Jon Story

2

ขณะนี้ฉันใช้ git และ svn ในขณะที่มีเหตุผลไม่ได้ที่จะทำมันไม่มีกฎทั่วไป Git สามารถทำสิ่งต่าง ๆ ที่ svn ไม่ได้ฉันคุ้นเคยกับคุณสมบัติเหล่านั้นดังนั้นเวิร์กโฟลว์ของฉันจึงเพิ่มประสิทธิภาพเมื่อฉันสามารถใช้ git ได้ เมื่อมองถึงข้อดีข้อเสียในสถานการณ์ของฉันฉันจะโง่ที่จะไม่ใช้ทั้งสองอย่าง คุณควรดูสถานการณ์ของคุณแบบเดียวกัน (btw ข้อเสียเพียงอย่างเดียวสำหรับฉันคือต้องเรียกใช้สคริปต์เล็ก ๆ เดียวเพื่อซิงค์ git กับ svn)


1

คุณสามารถแยกแพทช์ของคุณใน Git: ทำแต่ละอันบนสาขาของตัวเองจากนั้นรวมมันเข้าด้วยกันตามที่ต้องการ

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