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