ในช่วงไม่กี่ปีที่ผ่านมาฉันได้ทำงานกับระบบควบคุมเวอร์ชันต่าง ๆ มากมาย สำหรับฉันความแตกต่างพื้นฐานอย่างใดอย่างหนึ่งระหว่างพวกเขาคือว่าพวกเขาไฟล์แต่ละรุ่น (แต่ละไฟล์มีหมายเลขรุ่นแยกต่างหากและประวัติ) หรือพื้นที่เก็บข้อมูลโดยรวม ("กระทำ" หรือรุ่นแสดงภาพรวมของพื้นที่เก็บข้อมูลทั้งหมด) .
ระบบควบคุมเวอร์ชัน "ต่อไฟล์" บางระบบ:
- CVS
- ClearCase
- Visual SourceSafe
ระบบควบคุมเวอร์ชัน "ทั้งพื้นที่เก็บข้อมูล" บางระบบ:
- SVN
- Git
- หลายใจ
จากประสบการณ์ของฉันระบบควบคุมเวอร์ชันต่อไฟล์ได้นำไปสู่ปัญหาและต้องการการกำหนดค่าและการบำรุงรักษาที่มากขึ้นเพื่อใช้งานอย่างถูกต้อง (ตัวอย่างเช่น "config specs" ใน ClearCase) ฉันเคยมีเพื่อนร่วมงานหลายคนเปลี่ยนไฟล์ที่ไม่เกี่ยวข้องและทำลายสิ่งที่จะเป็นการพัฒนาที่โดดเดี่ยว
อะไรคือข้อดีของระบบการควบคุมรุ่นต่อไฟล์เหล่านี้หรือไม่ ระบบควบคุมเวอร์ชัน "ทั้งพื้นที่เก็บข้อมูล" มีปัญหาใดบ้างที่ระบบควบคุมเวอร์ชันต่อไฟล์ไม่มี?