กลับไปหน้าบทความ

อ่าน 10 นาที

การเปรียบเทียบซอฟต์แวร์ควบคุมเวอร์ชัน

ตารางต่อไปนี้อธิบายคุณลักษณะของระบบควบคุมเวอร์ชันและระบบจัดการการกำหนดค่าซอฟต์แวร์ (SCM) ที่สำคัญซึ่งสามารถใช้เปรียบเทียบและหาความแตกต่างระหว่างระบบต่างๆ ได้

การเปรียบเทียบซอฟต์แวร์ควบคุมเวอร์ชัน

ตารางต่อไปนี้อธิบายคุณลักษณะของระบบควบคุมเวอร์ชันและระบบจัดการการกำหนดค่าซอฟต์แวร์ (SCM) ที่สำคัญซึ่งสามารถใช้เปรียบเทียบและหาความแตกต่างระหว่างระบบต่างๆ ได้

สำหรับซอฟต์แวร์ SCM ที่ไม่เหมาะกับซอร์สโค้ดโปรดดูที่ การเปรียบเทียบซอฟต์แวร์การจัดการการกำหนดค่าแบบโอเพนซอร์ส

ข้อมูลทั่วไป

ตารางต่อไปนี้แสดงคุณลักษณะทั่วไปของระบบซอฟต์แวร์ควบคุมเวอร์ชัน ซึ่งรวมถึง:

  • โมเดลคลังเก็บข้อมูล ความสัมพันธ์ระหว่างสำเนาของคลังเก็บซอร์สโค้ด
    • ระบบไคลเอ็นต์-เซิร์ฟเวอร์ผู้ใช้เข้าถึงที่เก็บข้อมูลหลักผ่านทางไคลเอ็นต์โดยทั่วไปแล้ว เครื่องคอมพิวเตอร์ของผู้ใช้แต่ละคนจะเก็บเพียงสำเนาการทำงานของโครงสร้างโปรเจ็กต์เท่านั้น การเปลี่ยนแปลงในสำเนาการทำงานหนึ่งจะต้องได้รับการยืนยันในที่เก็บข้อมูลหลักก่อนที่จะเผยแพร่ไปยังผู้ใช้รายอื่น
    • ในระบบแบบกระจายศูนย์ ที่เก็บข้อมูลจะทำงานในลักษณะของเพื่อนร่วมงาน และโดยทั่วไปผู้ใช้จะมีที่เก็บข้อมูลในเครื่องพร้อมประวัติเวอร์ชันให้ใช้งานได้ นอกเหนือจากสำเนาที่ใช้งานอยู่ของตนเอง
  • รูปแบบการทำงานพร้อมกัน (Concurrency model) คือวิธีการจัดการการเปลี่ยนแปลงในสำเนาที่ใช้งานอยู่ เพื่อป้องกันไม่ให้การแก้ไขพร้อมกันทำให้เกิดข้อมูลที่ไม่ถูกต้องในที่เก็บข้อมูล
    • ล็อกไฟล์ ไว้ การเปลี่ยนแปลงใดๆ จะไม่สามารถทำได้จนกว่าผู้ใช้จะร้องขอและได้รับการล็อกแบบพิเศษจากที่เก็บข้อมูลหลัก
    • การรวม (Merge)ช่วยให้ผู้ใช้สามารถแก้ไขไฟล์ได้อย่างอิสระ แต่จะได้รับแจ้งถึงข้อขัดแย้งที่อาจเกิดขึ้นเมื่อตรวจสอบการเปลี่ยนแปลงลงในที่เก็บข้อมูล จากนั้นระบบควบคุมเวอร์ชันอาจรวมการเปลี่ยนแปลงจากทั้งสองฝั่ง หรือปล่อยให้ผู้ใช้ตัดสินใจเมื่อ เกิด ข้อขัดแย้งระบบควบคุมเวอร์ชันแบบกระจายมักใช้โมเดลการทำงานพร้อมกันแบบการรวม (Merge)
ซอฟต์แวร์ ผู้ดูแลระบบ สถานะการพัฒนา แบบจำลองคลังเก็บข้อมูล แบบจำลองความพร้อมกัน ใบอนุญาตแพลตฟอร์มที่รองรับ ต้นทุนทางการเงิน
AccuRev SCMไมโครโฟกัสเลิกผลิตแล้ว และได้ควบรวมกิจการกับDimensions CM แล้วไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์แพลตฟอร์มJavaส่วนใหญ่ ( ระบบคล้าย Unix , Windows , macOS ) ราคาที่นั่งละ 350 ดอลลาร์สหรัฐ โดยจะแจ้งราคาเป็นรายบุคคล
Azure DevOpsไมโครซอฟต์คล่องแคล่ว ระบบไคลเอ็นต์-เซิร์ฟเวอร์แบบกระจายผสานหรือล็อก กรรมสิทธิ์Windowsใช้งานได้หลายแพลตฟอร์มผ่านAzure DevOps Servicesใช้งานได้ฟรีสำหรับผู้ใช้สูงสุด 5 รายใน Azure DevOps Services หรือสำหรับโครงการโอเพนซอร์ส หากเกินกว่านั้นจะมีค่าใช้จ่าย โดยต้องซื้อลิขสิทธิ์ผ่าน การสมัครสมาชิก MSDNหรือซื้อโดยตรง
ตลาด GNUแคนอนิกไม่มีการดูแลรักษา แยกสาขาเป็นBreezyระบบกระจายและไคลเอนต์-เซิร์ฟเวอร์ผสาน จีพีแอล-2.0 หรือเวอร์ชันที่ใหม่กว่าระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
บิตคีปเปอร์บริษัท บิตโมเวอร์ อิงค์ ไม่ได้รับการบำรุงรักษา กระจายผสาน อะปาเช่-2.0ระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
IBM DevOps Code ClearCaseไอบีเอ็มคล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก[ nb 1 ]กรรมสิทธิ์ลินุกซ์ , วินโดวส์ , AIX , โซลาริส , HP UX , IBM i , OS/390 , z/ OS ใบอนุญาตแบบลอยตัวราคา 4,600 ดอลลาร์สหรัฐ (จะถูกเก็บไว้โดยอัตโนมัติอย่างน้อย 30 นาทีต่อผู้ใช้ สามารถยกเลิกได้ด้วยตนเอง)
โค้ด สหกรณ์ซอฟต์แวร์ที่เชื่อถือได้ เลิกผลิตแล้ว กระจายผสาน เอ็มไอทีวินโดวส์ราคา 150 ดอลลาร์ต่อที่นั่ง
ระบบเวอร์ชันพร้อมกันทีม CVS [ 1 ]ไม่ได้รับการบำรุงรักษา ไคลเอนต์-เซิร์ฟเวอร์ผสาน จีพีแอล-1.0 หรือเวอร์ชันที่ใหม่กว่าระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
ซีวีเอสเอ็นทีซอฟต์แวร์ March Hare [ 2 ]และสมาชิกชุมชน ไม่ได้รับการบำรุงรักษา ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก ลิขสิทธิ์ทั่วไปหรือลิขสิทธิ์เฉพาะ ระบบปฏิบัติการคล้าย Unix , Windows , macOS , IBM iค่าธรรมเนียมการจัดจำหน่าย 425 ปอนด์สำหรับเวอร์ชันเก่า หรือค่าลิขสิทธิ์เชิงพาณิชย์ 85 ปอนด์สำหรับเวอร์ชันล่าสุดของ CVS Suite หรือ Change Management Server
ดาร์คส์ทีมดาร์คส์ คล่องแคล่ว กระจายผสาน จีพีแอล-2.0 หรือเวอร์ชันที่ใหม่กว่าระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
ดาททีม Dat ไม่ได้รับการบำรุงรักษา กระจายผสาน เงื่อนไข BSD-3ระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
ขนาด (ซม.)โอเพ่นเท็กซ์คล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์Windows , Linux , Solaris , AIX , HP UX , z/OSจ่าย
ฟอสซิลดี. ริชาร์ด ฮิปป์คล่องแคล่ว กระจายผสาน เงื่อนไข BSD-2POSIX , Windows , macOS , อื่นๆ ฟรี
กิตจูนิโอ ฮามาโนะคล่องแคล่ว กระจายผสาน เฉพาะ GPL-2.0 เท่านั้นPOSIX , Windows , macOS , Linuxฟรี
สถาปัตยกรรม GNUแอนดี้ ไท ไม่ได้รับการบำรุงรักษา กระจายผสาน จีพีแอลระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
ไอซี แมเนจบริษัท ไอซี แมเนจ อิงค์ คล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์ระบบปฏิบัติการคล้าย Unix , Windows , macOSจ่าย
ความสมบูรณ์ของ PTCพีทีซี เลิกผลิตแล้ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์คล้ายยูนิกส์ , วินโดวส์จ่าย
เปลี่ยนแปลงง่ายชุมชนเมอร์คิวเรียลคล่องแคล่ว กระจายผสาน จีพีแอล-2.0 หรือเวอร์ชันที่ใหม่กว่าระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
ไมโครซอฟต์ วิชวล ซอร์สเซฟไมโครซอฟต์เลิกผลิตแล้ว โฟลเดอร์ที่แชร์ ผสานหรือล็อก กรรมสิทธิ์วินโดวส์ราคาใบอนุญาตประมาณ 500 ดอลลาร์สหรัฐ หรือใบอนุญาตเดียวจะรวมอยู่ในค่าสมัครสมาชิก MSDN ทุกครั้ง
โมโนโทนนาธาเนียล สมิธ, เกรย์ดอน โฮร์ ไม่ได้รับการบำรุงรักษา กระจายผสาน จีพีแอล-2.0 หรือเวอร์ชันที่ใหม่กว่าระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
เพอร์ฟอร์ซ พี4เพอร์ฟอร์ซคล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์และแบบกระจายผสานหรือล็อก กรรมสิทธิ์ระบบปฏิบัติการคล้าย Unix , Windows , macOSมีให้เลือกทั้งแบบใบอนุญาตถาวรและแบบสมัครสมาชิก ราคาจะแตกต่างกันไปตามการกำหนดค่าและตัวเลือก[ 3 ]
พีวีซีโอเพ่นเท็กซ์เลิกผลิตแล้ว และได้ควบรวมกิจการกับDimensions CM แล้วไคลเอนต์-เซิร์ฟเวอร์ล็อค กรรมสิทธิ์ระบบปฏิบัติการ WindowsและUnix-likeจ่าย
IBM Rational Team Concertไอบีเอ็มเลิกผลิตแล้ว ไคลเอนต์-เซิร์ฟเวอร์[ nb 2 ] [ 4 ] [ 5 ]ผสานหรือล็อก กรรมสิทธิ์ลินุกซ์ , วินโดวส์ , AIX , โซลาริส , HP UX , IBM i , OS/390 , z/OS , macOSใช้งานฟรีสำหรับผู้ใช้สูงสุด 10 ราย หากเกิน 10 รายจะต้องเสียค่าใช้จ่าย
การทำงานร่วมกันอย่างมีเหตุผลไอบีเอ็มคล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์และแบบกระจายผสานหรือล็อก กรรมสิทธิ์ลินุกซ์ , วินโดวส์ , ระบบคล้ายยูนิกซ์จ่ายแล้ว[ 6 ]
ระบบควบคุมการแก้ไขเทียน-ธิ เหงียน ไม่ได้รับการบำรุงรักษา ท้องถิ่น ผสานหรือล็อก จีพีแอล-3.0 หรือเวอร์ชันที่ใหม่กว่าเหมือนยูนิกฟรี
ระบบควบคุมซอร์สโค้ดJörg Schilling [ nb 3 ]ไม่ได้รับการบำรุงรักษา ท้องถิ่น ล็อค[ nb 4 ]CDDL – กรรมสิทธิ์[ nb 5 ]ระบบคล้าย Unix , macOSเวอร์ชัน ฟรี ที่ได้รับอนุญาตภายใต้ CDDLหรือเวอร์ชันเสียเงินในระบบปฏิบัติการ UNIX บางรุ่น
ทีมสตาร์บอร์แลนด์ ( ไมโครโฟกัส ) เลิกผลิตแล้ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์รองรับ ระบบ Windowsและข้ามแพลตฟอร์มผ่านไคลเอ็นต์ที่ใช้ Java จ่าย
การบ่อนทำลายมูลนิธิซอฟต์แวร์ Apache [ 7 ]รักษาไว้ ไคลเอนต์-เซิร์ฟเวอร์รวมหรือล็อก[ nb 6 ]อะปาเช่-2.0ระบบปฏิบัติการคล้าย Unix , Windows , macOSฟรี
เซอร์ราวด์ เอสซีเอ็มเพอร์ฟอร์ซไม่ได้รับการบำรุงรักษา ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์ลินุกซ์ , วินโดวส์ , มอสซาเรลล่าราคา 595 ดอลลาร์ต่อผู้ใช้; ค่าสมัครสมาชิกรายเดือน 29 ดอลลาร์
การควบคุมเวอร์ชันของ Unityยูนิตี้ เทคโนโลยีส์คล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์และแบบกระจายผสานหรือล็อก กรรมสิทธิ์ลินุกซ์ , วินโดวส์ , มอสซาเรลล่าใช้งานได้ฟรีสำหรับผู้ใช้สูงสุด 3 ราย มิฉะนั้นจะเริ่มต้นที่ 7 ดอลลาร์ต่อผู้ใช้ต่อเดือนสำหรับเวอร์ชันที่โฮสต์บนเซิร์ฟเวอร์ หรือ 23 ดอลลาร์ต่อผู้ใช้ต่อเดือนสำหรับเวอร์ชันที่ติดตั้งในองค์กร ไม่มีใบอนุญาตแบบถาวร[ 8 ]
ห้องนิรภัยบริษัท ซอร์สเกียร์ จำกัด คล่องแคล่ว ไคลเอนต์-เซิร์ฟเวอร์ผสานหรือล็อก กรรมสิทธิ์ระบบปฏิบัติการคล้ายยูนิกส์ , ลินุกซ์ , วินโดวส์300 ดอลลาร์ต่อผู้ใช้
เวสต้าคอมแพคเลิกผลิตแล้ว ตัวเลือกการจำลองโปรโตคอล NFS แบบกระจาย เพื่อเชื่อม โยงไคลเอ็นต์และ/หรือเซิร์ฟเวอร์ ได้ตามต้องการล็อกสาขา; ผสานสาขาต่อสาขา แอลจีพีแอลTru64 , ลินุกซ์ฟรี
ซอฟต์แวร์ ผู้ดูแลระบบ สถานะการพัฒนา แบบจำลองคลังเก็บข้อมูล แบบจำลองความพร้อมกัน ใบอนุญาตแพลตฟอร์มที่รองรับ ต้นทุนทางการเงิน

ข้อมูลทางเทคนิค

ตารางต่อไปนี้แสดงรายละเอียดทางเทคนิคของซอฟต์แวร์ควบคุมเวอร์ชันที่เป็นที่รู้จักกันดีบางส่วน โดยแบ่งประเภทตามหัวข้อดังต่อไปนี้:

คำอธิบายตาราง

  • ซอฟต์แวร์ : ชื่อของแอปพลิเคชันที่กำลังอธิบายอยู่
  • ภาษาโปรแกรม : ภาษาเขียนโค้ดที่ใช้ในการพัฒนาแอปพลิเคชัน
  • วิธีการจัดเก็บ : อธิบายรูปแบบการจัดเก็บไฟล์ในที่เก็บข้อมูล Snapshotหมายถึงไฟล์ที่ได้รับการยืนยันแล้วจะถูกจัดเก็บไว้ทั้งหมด โดยปกติจะถูกบีบอัด ส่วน Changesetในบริบทนี้ หมายถึงไฟล์ที่ได้รับการยืนยันแล้วจะถูกจัดเก็บในรูปแบบของความแตกต่างระหว่างเวอร์ชันก่อนหน้ากับเวอร์ชันถัดไป
  • ขอบเขตของการเปลี่ยนแปลง : อธิบายว่าการเปลี่ยนแปลงนั้นถูกบันทึกไว้สำหรับไฟล์ แต่ละไฟล์ หรือสำหรับโครงสร้างไดเร็กทอรี
  • รหัสการแก้ไข (Revision IDs ): ใช้ภายในเพื่อระบุเวอร์ชันเฉพาะของไฟล์ในที่เก็บข้อมูล ระบบอาจใช้ ตัวระบุ แบบสุ่มเทียมแฮชเนื้อหาของการแก้ไข หรือชื่อไฟล์ที่มีหมายเลขเวอร์ชันเรียงลำดับ (เนมสเปซ) สำหรับ Integrated Difference การแก้ไขจะอิงตาม Changeset เอง ซึ่งสามารถอธิบายการเปลี่ยนแปลงในไฟล์มากกว่าหนึ่งไฟล์ได้
  • โปรโตคอลเครือข่าย : แสดงรายการโปรโตคอลที่ใช้สำหรับการซิงโครไนซ์การเปลี่ยนแปลง
  • ขนาดซอร์สโค้ด : ระบุขนาดของซอร์สโค้ดในหน่วยเมกะไบต์
ซอฟต์แวร์ ภาษาโปรแกรมวิธีการจัดเก็บ ขอบเขตของการเปลี่ยนแปลง รหัสการแก้ไขโปรโตคอลเครือข่ายขนาดของซอร์สโค้ด
AccuRev SCMซี++จาวาการเปลี่ยนแปลง ไฟล์ คู่ตัวเลข NN/NN กำหนดเอง ไม่ทราบ
Azure DevOpsC++และC#การเปลี่ยนแปลง ไฟล์และต้นไม้ ตัวเลข SOAP ผ่าน HTTP หรือ HTTPS, SSHไม่ทราบ
ตลาด GNUPython 2 , Pyrex (ไม่จำเป็น) , C [ nb 7 ]ภาพถ่าย ต้นไม้ สุ่มเทียม กำหนดเอง, กำหนดเองผ่านSSH , กำหนดเองผ่านHTTP , HTTP , SFTP , FTP , ชุดอีเมล, [หมายเหตุ 8 ] WebDAV (พร้อมปลั๊กอิน) 4.1 MB
บิตคีปเปอร์ซีการเปลี่ยนแปลง ต้นไม้ คีย์ชุดเปลี่ยนหมายเลข กำหนดเอง, HTTP , rsh , ssh , อีเมล 99 MB
ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CAC , C++ , Java , HTML ชุดการเปลี่ยนแปลงและสแนปช็อต ไฟล์และต้นไม้ ตัวเลข HTTP , TCP/IP ไม่ทราบ
IBM DevOps Code ClearCaseC , Java , Perlการเปลี่ยนแปลง ไฟล์และต้นไม้[ 9 ]ตัวเลข กำหนดเอง (CCFS), กำหนดเอง ( ไดรเวอร์ระบบไฟล์ MVFS ), HTTPไม่ทราบ
โค้ด สหกรณ์ซี++การเปลี่ยนแปลง ไม่ทราบ รหัสผู้ใช้-ลำดับ อีเมล ( MAPI , SMTP / POP3 , Gmail ), LANไม่ทราบ
ซีวีเอสซีการเปลี่ยนแปลง ไฟล์ ตัวเลข พีเซิร์ฟเวอร์, เอสเอช10.3 MB
ซีวีเอสเอ็นทีซี++การเปลี่ยนแปลง ไฟล์และต้นไม้[ 10 ]ตัวเลข การตั้งค่าแบบกำหนดเองผ่านSSH , SSPI, SServer, GServer และ PServer 55 MB
ดาร์คส์ฮัสเคลล์ชุดการเปลี่ยนแปลง (แพทช์) [ nb 9 ]ต้นไม้ ไม่มีข้อมูล กำหนดเองผ่านSSH , HTTP , อีเมล 1.7 MB
ขนาด (ซม.)C , C++ , Java , C#สแนปช็อตหรือชุดการเปลี่ยนแปลง ไฟล์และต้นไม้ ตัวเลข กำหนดเอง, HTTP / HTTPSไม่ทราบ
ฟอสซิลซีสแนปช็อตหรือชุดการเปลี่ยนแปลง[ 11 ]ต้นไม้ แฮช SHA-1หรือSHA-3 [ 12 ]HTTP / HTTPS , กำหนดเองผ่านSSH7.2 MB [ nb 10 ]
กิตภาษาซี , สคริปต์เชลล์ , ภาษาเพิร์ลภาพถ่าย ต้นไม้ แฮ ช SHA-1หรือSHA-256 [ 13 ]กำหนดเอง ( git ), กำหนดเองผ่านssh , [ 14 ] HTTP / HTTPS , rsync , อีเมล, บันเดิล 23 MB [ 15 ]
สถาปัตยกรรม GNUC , สคริปต์เชลล์การเปลี่ยนแปลง ต้นไม้ ตัวเลข HTTP , WebDAVไม่ทราบ
ไอซี แมเนจซี++ , ซีการเปลี่ยนแปลง ไม่ทราบ ตัวเลข กำหนดเอง ไม่ทราบ
เปลี่ยนแปลงง่ายไพธอน , ซีการเปลี่ยนแปลง ต้นไม้ ตัวเลข[ nb 11 ] แฮ ช SHA-1การกำหนดค่าผ่านSSH , HTTPและชุดอีเมล (ด้วยปลั๊กอินมาตรฐาน) 20 MB
เอ็มเคเอส อินทิกอรี่ซี , จาวาการเปลี่ยนแปลง ไฟล์ ตัวเลข กำหนดเอง, HTTPไม่ทราบ
โมโนโทนซี++ไฮบริด[ nb 12 ]ต้นไม้ แฮ ช SHA-1กำหนดเอง ( netsync ), กำหนดเองผ่านssh , ระบบไฟล์ 4.4 MB
เพอร์ฟอร์ซ เฮลิกซ์ คอร์ซี++ , ซีการเปลี่ยนแปลง ต้นไม้ ตัวเลข กำหนดเอง ไม่ทราบ
พีวีซีซี++ , ซีการเปลี่ยนแปลง ไฟล์ ตัวเลข ไม่ทราบ ไม่ทราบ
คอนเสิร์ตทีมราชันย์ชวาการเปลี่ยนแปลง ต้นไม้ ตัวเลข บริการ RESTผ่านHTTP / HTTPSไม่ทราบ
ระบบควบคุมการแก้ไขซีการเปลี่ยนแปลง ไฟล์ ตัวเลข ระบบไฟล์ 5.3 MB
ระบบควบคุมซอร์สโค้ดซีการเปลี่ยนแปลง ไฟล์ ตัวเลข เอ็นเอฟเอส1.3 MB
ทีมสตาร์C++ , C , Javaภาพถ่าย ไฟล์และต้นไม้ แฮช MD5กำหนดเอง, TCP/IP ไม่ทราบ
การบ่อนทำลายซีชุดการเปลี่ยนแปลงและสแนปช็อต ต้นไม้ ตัวเลข กำหนดเอง ( svn ), กำหนดเองผ่านssh , HTTPและ SSL (โดยใช้WebDAV ) 41 MB
เซอร์ราวด์ เอสซีเอ็มซี++การเปลี่ยนแปลง ไฟล์และต้นไม้ ตัวเลข ทซีพีไอ ไม่ทราบ
การทำงานร่วมกันชวาชุดการเปลี่ยนแปลง (ข้อความ), สแนปช็อต (ไบนารี) ไฟล์ ตัวเลข กำหนดเอง, กำหนดเองผ่านSSH , HTTPไม่ทราบ
ห้องนิรภัยซี#การเปลี่ยนแปลง ไฟล์และต้นไม้ ตัวเลข HTTP , HTTPSไม่ทราบ
เวสต้าซี++ภาพถ่าย ต้นไม้ ไม่ทราบ เอ็นเอฟเอส15.8 MB
Visual SourceSafeซีภาพถ่าย ไฟล์ ตัวเลข SMB , DCOMไม่ทราบ
ซอฟต์แวร์ ภาษาโปรแกรมวิธีการจัดเก็บ ขอบเขตของการเปลี่ยนแปลง รหัสการแก้ไข โปรโตคอลเครือข่าย ขนาดของซอร์สโค้ด

คุณสมบัติ

ตารางต่อไปนี้จัดประเภทซอฟต์แวร์ที่มีชื่อเสียงบางส่วนตามคุณสมบัติและความสามารถ:

คำอธิบายตาราง

  • ซอฟต์แวร์ : ชื่อของแอปพลิเคชันที่กำลังอธิบายอยู่
  • รองรับรูปแบบข้อมูล Git : สามารถทำงานกับรูปแบบที่เก็บข้อมูลของ Git ได้โดยตรง
  • คอมมิตแบบอะตอมิก (Atomic commits ): หมายถึงการรับประกันว่าการเปลี่ยนแปลงทั้งหมดจะเกิดขึ้นจริง หรือจะไม่มีการเปลี่ยนแปลงใดๆ เลย
  • การเปลี่ยนชื่อไฟล์ : อธิบายว่าระบบอนุญาตให้เปลี่ยนชื่อไฟล์โดยยังคงรักษาประวัติเวอร์ชันของไฟล์ไว้หรือไม่
  • การรวมการเปลี่ยนชื่อไฟล์ : อธิบายว่าระบบสามารถรวมการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ในสาขาหนึ่งเข้ากับไฟล์เดียวกันที่ถูกเปลี่ยนชื่อในอีกสาขาหนึ่งได้หรือไม่ (หรือในทางกลับกัน) หากไฟล์เดียวกันถูกเปลี่ยนชื่อในทั้งสองสาขา จะเกิดข้อขัดแย้งในการเปลี่ยนชื่อที่ผู้ใช้ต้องแก้ไข
  • ลิงก์เชิงสัญลักษณ์ : อธิบายว่าระบบอนุญาตให้ควบคุมเวอร์ชันของลิงก์เชิงสัญลักษณ์เหมือนกับไฟล์ทั่วไปหรือไม่ การกำหนดเวอร์ชันของลิงก์เชิงสัญลักษณ์นั้น บางคนมองว่าเป็นคุณสมบัติที่ดี ในขณะที่บางคนมองว่าเป็นช่องโหว่ด้านความปลอดภัย (เช่น ลิงก์เชิงสัญลักษณ์ไปยัง /etc/passwd) ลิงก์เชิงสัญลักษณ์ได้รับการสนับสนุนเฉพาะบนแพลตฟอร์มที่เลือกเท่านั้น ขึ้นอยู่กับซอฟต์แวร์นั้นๆ
  • ฮุกก่อน/หลังเหตุการณ์ : บ่งชี้ถึงความสามารถในการเรียกใช้คำสั่งก่อนหรือหลังการกระทำ เช่น การยืนยันการเปลี่ยนแปลง จะเกิดขึ้น
  • การแก้ไขที่ลงนามแล้ว : หมายถึงการ ลงนามดิจิทัลแบบบูรณาการในการแก้ไข โดยใช้รูปแบบเช่นOpenPGP
  • การติดตามการผสาน (Merge tracking ): อธิบายว่าระบบจดจำหรือไม่ว่ามีการเปลี่ยนแปลงใดบ้างที่ถูกผสานระหว่างสาขาต่างๆ และจะผสานเฉพาะการเปลี่ยนแปลงที่ขาดหายไปเมื่อผสานสาขาหนึ่งเข้ากับอีกสาขาหนึ่ง
  • การแปลงอักขระขึ้นบรรทัดใหม่ : อธิบายว่าระบบสามารถปรับอักขระขึ้นบรรทัดใหม่สำหรับไฟล์ข้อความให้ตรงกับรูปแบบอักขระขึ้นบรรทัดใหม่ของระบบปฏิบัติการที่ใช้งานอยู่ได้หรือไม่ ระดับการควบคุมจะแตกต่างกันไป ตัวอย่างเช่น Subversion สามารถกำหนดค่าให้จัดการอักขระขึ้นบรรทัดใหม่แตกต่างกันไปตามประเภทไฟล์ ในขณะที่ Perforce แปลงไฟล์ข้อความทั้งหมดตามการตั้งค่าเดียวต่อไคลเอนต์
  • แท็ก : ระบุว่าสามารถตั้งชื่อที่มีความหมายให้กับการแก้ไขเฉพาะเจาะจงได้หรือไม่ โดยไม่คำนึงว่าชื่อเหล่านั้นจะเรียกว่าแท็กหรือป้ายกำกับ
  • การรองรับในระดับสากล : ระบุว่าซอฟต์แวร์รองรับสภาพแวดล้อมภาษาและระบบปฏิบัติการหลายภาษาหรือไม่
  • การรองรับชื่อไฟล์ Unicode : ระบุว่าซอฟต์แวร์รองรับการทำงานร่วมกันระหว่างระบบไฟล์ที่ใช้การเข้ารหัสอักขระ ต่างกันหรือ ไม่
  • รองรับคลังเก็บข้อมูลขนาดใหญ่ : ระบบสามารถจัดการกับคลังเก็บข้อมูลขนาดประมาณหนึ่งกิกะไบต์ขึ้นไปได้อย่างมีประสิทธิภาพหรือไม่?
ซอฟต์แวร์ รองรับรูปแบบข้อมูล Git คอมมิตอะตอมิกการเปลี่ยนชื่อไฟล์ รวมการเปลี่ยนชื่อไฟล์ ลิงก์เชิงสัญลักษณ์การเชื่อมโยงก่อน/หลังเหตุการณ์ การแก้ไขที่ ลงนามแล้วการติดตามการผสาน การแปลง ท้ายบรรทัดแท็กการสนับสนุนจากนานาชาติ รองรับชื่อไฟล์แบบ Unicode รองรับพื้นที่เก็บข้อมูลขนาดใหญ่
AccuRev SCMใช่ ใช่ บางส่วน[ nb 13 ]ใช่ ใช่ ใช่ ใช่ ใช่ ไม่มีข้อมูลใช่ ใช่[ 16 ]ใช่[ 17 ] [ 18 ]
Azure DevOpsใช่ ใช่ ใช่ ใช่ ใช่ ใช่ เลขที่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่
ตลาด GNUใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่[ 19 ]ใช่ ใช่ ใช่ ไม่ทราบ
บิตคีปเปอร์ใช่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ ใช่ ใช่ ใช่ ไม่ทราบ ไม่ทราบ ใช่
ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CAใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ
IBM DevOps Code ClearCaseบางส่วน[ nb 14 ]ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่[ 20 ]ไม่ทราบ ใช่
โค้ด สหกรณ์ใช่ ใช่ ใช่ เลขที่ บางส่วน เลขที่ เลขที่ เลขที่ ใช่ ไม่ทราบ ไม่ทราบ ไม่ทราบ
ซีวีเอสเลขที่ เลขที่ เลขที่ เลขที่ เลขที่ บางส่วน เลขที่ เลขที่ ใช่ ใช่ ไม่ทราบ เลขที่ ใช่
ซีวีเอสเอ็นทีเลขที่ ใช่ ใช่ ใช่ ใช่ ใช่ เลขที่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่
ดาร์คส์ใช่ ใช่ ใช่ หมายเลข[ nb 15 ]ใช่ ใช่ ไม่มีข้อมูล[ nb 16 ]เลขที่ ใช่ เลขที่ ใช่[ nb 17 ]ไม่ทราบ
ขนาด (ซม.)ใช่ ใช่ ใช่ เลขที่ ใช่ ไม่ทราบ ใช่ ใช่ ใช่[ nb 18 ]หมายเลข[ nb 19 ]ใช่ ใช่
ฟอสซิลใช่ ใช่ ใช่ ใช่ ใช่[ 21 ]ใช่ ใช่ ใช่[ nb 20 ]ใช่ ใช่ ใช่ ใช่[ 22 ]
กิตใช่ ใช่ บางส่วน[ nb 21 ]ใช่ ใช่ ใช่ ใช่[ nb 22 ]ใช่ ใช่ ใช่ ใช่ ใช่[ nb 23 ]บางส่วน[ nb 24 ]
สถาปัตยกรรม GNUใช่ ใช่ ไม่ทราบ ใช่ ใช่ ใช่ ไม่ทราบ ไม่ทราบ ใช่ ไม่ทราบ ไม่ทราบ ไม่ทราบ
ไอซี แมเนจใช่ ใช่ เลขที่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ ไม่ทราบ
เอ็มเคเอส อินทิกอรี่ใช่ ใช่ ใช่ เลขที่ ใช่ ใช่[ nb 25 ]ใช่[ nb 26 ]ใช่ ใช่ ใช่ ใช่ ไม่ทราบ
เปลี่ยนแปลงง่ายบางส่วน[ 23 ] [ 24 ]ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่[ nb 27 ]บางส่วน[ nb 28 ]ใช่[ 25 ]
โมโนโทนใช่ ใช่ ใช่ ไม่[ nb 29 ]ใช่ ใช่ บังคับ ใช่ ใช่ ใช่ ไม่ทราบ ใช่ ไม่ทราบ
เพอร์ฟอร์ซ เฮลิกซ์ คอร์ใช่ ใช่[ 26 ]ใช่[ 27 ]บางส่วน[ nb 30 ]ใช่ เลขที่ ใช่[ 28 ]ใช่ ใช่ ใช่[ 29 ]ใช่[ 30 ]ใช่
คอนเสิร์ตทีมราชันย์ใช่ ใช่ ใช่ ใช่ ใช่[ nb 31 ]ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ
ระบบควบคุมซอร์สโค้ดเลขที่ ใช่ เลขที่ ไม่มีข้อมูลไม่มีข้อมูลเลขที่ เลขที่ ใช่ เลขที่ เลขที่ บางส่วน[ nb 32 ]ใช่ ใช่
ทีมสตาร์ใช่[ nb 33 ]ใช่ ไม่ทราบ ใช่ เลขที่ เลขที่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ ใช่
การบ่อนทำลายเลขที่ ใช่ ใช่[ nb 34 ]บางส่วน[ nb 35 ]ใช่ ใช่ หมายเลข[ nb 36 ]ใช่[ nb 37 ]ใช่ บางส่วน[ nb 38 ]ใช่ ใช่ ใช่
เซอร์ราวด์ เอสซีเอ็มใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่[ 31 ]ใช่ ใช่ ใช่
การทำงานร่วมกันใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่ ใช่[ nb 39 ]ใช่
ห้องนิรภัยใช่ ใช่ ใช่ เลขที่ ใช่ เลขที่ เลขที่ ใช่ ใช่ ไม่ทราบ ไม่ทราบ ไม่ทราบ
เวสต้าใช่ ใช่ ไม่ทราบ ไม่ทราบ ใช่ เลขที่ เลขที่ เลขที่ ใช่ เลขที่ ไม่ทราบ ใช่
Visual SourceSafeเลขที่ หมายเลข[ nb 40 ]ไม่ทราบ เลขที่ ใช่ เลขที่ เลขที่ ไม่ทราบ ใช่ ใช่ ไม่ทราบ ไม่ทราบ
ซอฟต์แวร์ คอมมิตอะตอมิกการเปลี่ยนชื่อไฟล์ รวมการเปลี่ยนชื่อไฟล์ ลิงก์เชิงสัญลักษณ์การเชื่อมโยงก่อน/หลังเหตุการณ์ การแก้ไขที่ ลงนามแล้วการติดตามการผสาน การแปลง ท้ายบรรทัดแท็กการสนับสนุนจากนานาชาติ รองรับชื่อไฟล์แบบ Unicode รองรับพื้นที่เก็บข้อมูลขนาดใหญ่

คุณสมบัติขั้นสูง

ต่อไปนี้คือคุณสมบัติและฟังก์ชันการทำงานขั้นสูงเพิ่มเติมที่มีอยู่ในระบบควบคุมเวอร์ชันที่โดดเด่นบางระบบ:

คำอธิบายตาราง

  • การขยายคำหลัก : รองรับการขยายคำหลักโดยอัตโนมัติ เช่น หมายเลขแก้ไขไฟล์
  • การคอมมิตแบบโต้ตอบ : การคอมมิตแบบโต้ตอบช่วยให้ผู้ใช้สามารถเลือกบรรทัดโค้ดทั่วไปที่ใช้เป็นจุดยึดของไฟล์ (ส่วนย่อยของโค้ด) ซึ่งจะกลายเป็นส่วนหนึ่งของการคอมมิต (โดยปล่อยให้การเปลี่ยนแปลงที่ไม่ได้เลือกยังคงเป็นการเปลี่ยนแปลงในสำเนาการทำงาน) แทนที่จะมีความละเอียดระดับไฟล์เพียงอย่างเดียว
  • การอ้างอิงภายนอก : การฝังแหล่งเก็บข้อมูลภายนอกลงในโครงสร้างซอร์สโค้ด
  • การดึงข้อมูล/โคลนบางส่วน : ความสามารถในการดึงข้อมูลหรือโคลนเฉพาะไดเร็กทอรีย่อยที่ระบุไว้จากที่เก็บข้อมูล
  • สิทธิ์การเข้าถึง : บันทึกข้อมูลสิทธิ์การเข้าถึงไฟล์ในประวัติการแก้ไข
  • การรักษาระบบเวลาแก้ไข ล่าสุด : จะเขียนทับค่าที่แก้ไขล่าสุดด้วยเวลาที่ทำการคอมมิตเมื่อทำการเช็คเอาท์
  • เครื่องมือผสานไฟล์อัตโนมัติแบบกำหนดเอง : สามารถลองใช้เครื่องมือผสานไฟล์อัตโนมัติได้โดยใช้เครื่องมือใดก็ได้ตามที่ผู้ใช้เลือก (หวังว่าจะสามารถกำหนดค่าได้ในแต่ละไฟล์)
  • รูปแบบที่รองรับ : รองรับการอ่าน/เขียน หรืออ่านอย่างเดียว (ต้องแปลงไฟล์ซ้ำ)
  • แคชการสร้างอ็อบเจ็กต์ที่ได้มาแบบใช้ร่วมกัน : ความสามารถในการแทนที่ (wink-in) อ็อบเจ็กต์ที่ได้มาซึ่งสร้างโดยไคลเอ็นต์อื่น ๆ ที่ใช้ร่วมกันซึ่งมีส่วนประกอบที่เหมือนกันทุกประการโดยอัตโนมัติ แทนที่จะสร้างใหม่ในเครื่อง
ซอฟต์แวร์ การขยายคำหลัก คอมมิตแบบโต้ตอบ แหล่งอ้างอิงภายนอก
การชำระเงิน บางส่วน/การคัดลอก
สิทธิ์การเข้าถึง การรักษาระบบประทับเวลา เครื่องมือผสานอัตโนมัติแบบกำหนดเอง รูปแบบที่รองรับ
แคชการสร้างที่ใช้ร่วมกันของอ็อบเจ็กต์ที่ได้มา
AccuRev SCMใช่ ไม่ทราบ ใช่ ใช่ บิตการดำเนินการเท่านั้น ใช่ ใช่ git (bi-dir) [ 32 ]เลขที่
Azure DevOpsเลขที่ ใช่ ไม่ทราบ ใช่ ใช่ ไม่ทราบ ใช่ ไม่ทราบ ไม่ทราบ
ตลาด GNUใช่[ 33 ]ใช่[ 34 ]ใช่[ 35 ]เลขที่ บิตการดำเนินการเท่านั้น หมายเลข[ nb 41 ]ใช่[ 36 ]bzr, subversion, [ 37 ] git, [ 38 ] hg, [ 39 ]ใดๆ ที่มี fastexporter เลขที่
บิตคีปเปอร์POSIXและRCSใช่ ใช่ ใช่ ใช่ ใช่ ใช่ บิตคีปเปอร์ เลขที่
ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CAเลขที่ ใช่ เลขที่ ใช่ บิตการดำเนินการเท่านั้น ใช่ ใช่ ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CA เลขที่
IBM DevOps Code ClearCaseใช่[ 40 ]เลขที่ เลขที่ ใช่ ใช่ ใช่[ nb 42 ]ใช่ เคสใส ใช่
ซีวีเอสอาร์ซีเอสเลขที่ ใช่ ใช่[ nb 43 ]บางส่วน[ nb 44 ]ใช่ เลขที่ ซีวีเอส เลขที่
ซีวีเอสเอ็นทีอาร์ซีเอสใช่[ nb 45 ]ใช่[ nb 46 ]ใช่[ nb 47 ]ใช่ ใช่ เลขที่ ซีวีเอส ใช่[ nb 48 ]
ดาร์คส์เลขที่ ใช่ เลขที่ หมายเลข[ nb 49 ]บางส่วน[ nb 50 ]เลขที่ ความขัดแย้งเท่านั้น ดาร์คส์ เลขที่
ขนาด (ซม.)ใช่ เลขที่ ใช่[ nb 51 ]ใช่ ใช่ ใช่ ใช่ การย้ายข้อมูลจาก ClearCase, Subversion, CVS, PVCS, ChangeMan DS ไม่ทราบ
ฟอสซิลเลขที่ ใช่ ใช่[ nb 52 ]เลขที่ บิตการดำเนินการเท่านั้น[ 41 ]เลขที่ เลขที่ ฟอสซิล (ใช้ sqlite) ใดๆ ที่มี fastexporter; [ 42 ]การย้ายจาก git และ svn [ 43 ]เลขที่
กิตใช่[ nb 53 ]ใช่[ nb 54 ]ใช่[ 44 ]ใช่[ 45 ]บิตการดำเนินการเท่านั้น ไม่[ nb 55 ]ใช่ git, cvs, subversion, hg หรือโปรแกรมใดๆ ที่มี fastexporter เลขที่
เปลี่ยนแปลงง่ายใช่[ 46 ]ใช่[ 47 ]ใช่[ 48 ]ใช่[ 49 ]บิตการดำเนินการเท่านั้น ผ่านการขยาย (อัลฟา) [ 50 ]ใช่[ 51 ]hg, subversion, [ 52 ]การผลักและดึงข้อมูลแบบสองทางที่ไม่สูญเสียจาก git, [ 53 ]การย้ายข้อมูลจากรูปแบบอื่นใดที่รองรับโดยส่วนขยาย Convert: [ 54 ] CVS, Darcs, Bazaar, Monotone, GNU Arch และ Perforce [ 55 ]เลขที่
เพอร์ฟอร์ซ เฮลิกซ์ คอร์ใช่[ 56 ]เลขที่ เลขที่ ใช่ ใช่ ใช่[ 56 ]ใช่[ 56 ]เพอร์ฟอร์ซ เลขที่
คอนเสิร์ตทีมราชันย์เลขที่ ใช่ ใช่ ใช่ ใช่ ไม่ทราบ ใช่ ไม่มีข้อมูลเลขที่
ระบบควบคุมซอร์สโค้ดใช่ เลขที่ ไม่มีข้อมูลใช่ บิตการดำเนินการเท่านั้น บางรูปแบบ เลขที่ เอสซีซีเอส เลขที่
เซอร์ราวด์ เอสซีเอ็มใช่ เลขที่ เลขที่ ใช่ เลขที่ ใช่ ใช่[ nb 56 ]ล้อมรอบ เลขที่
การบ่อนทำลายใช่[ 57 ]บางส่วน[ nb 57 ]ใช่[ 58 ]ใช่ บิตการดำเนินการเท่านั้น บางส่วน[ nb 58 ]ใช่[ nb 59 ]การบ่อนทำลาย เลขที่
เวสต้าเลขที่ เลขที่ ใช่ ผ่านทาง SDL เลขที่ ไม่ทราบ ใช่ เลขที่ เวสต้า ใช่
Visual SourceSafeใช่ ไม่ทราบ ไม่ทราบ ใช่ ใช่ ไม่ทราบ ใช่ ไม่ทราบ เลขที่
ซอฟต์แวร์ การขยายคำหลัก คอมมิตแบบโต้ตอบ แหล่งอ้างอิงภายนอก
การชำระเงิน บางส่วน/การคัดลอก
สิทธิ์การเข้าถึง การรักษาระบบประทับเวลา เครื่องมือผสานอัตโนมัติแบบกำหนดเอง รูปแบบที่รองรับ
แคชการสร้างที่ใช้ร่วมกันของอ็อบเจ็กต์ที่ได้มา

คำสั่งพื้นฐาน

ตารางต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งต่างๆ ที่มีอยู่ในระบบควบคุมเวอร์ชันที่สำคัญ

คำอธิบายตาราง

  • เริ่มต้นใช้งาน Repository : สร้าง Repository ว่างเปล่าใหม่ (เช่น ฐานข้อมูลควบคุมเวอร์ชัน)
  • โคลน : สร้างอินสแตนซ์ที่เหมือนกันทุกประการของที่เก็บข้อมูล (ในธุรกรรมที่ปลอดภัย)
  • pull : ดาวน์โหลดเวอร์ชันแก้ไขจากที่เก็บข้อมูลระยะไกลไปยังที่เก็บข้อมูลในเครื่อง
  • push : อัปโหลดการแก้ไขจากที่เก็บข้อมูลในเครื่องไปยังที่เก็บข้อมูลระยะไกล
  • สาขาภายในเครื่อง : สร้างสาขาภายในเครื่องที่ไม่ปรากฏในที่เก็บข้อมูลระยะไกลต้นฉบับ
  • เช็คเอาท์ : สร้างสำเนาใช้งานในเครื่องจากที่เก็บข้อมูล (ระยะไกล)
  • อัปเดต : อัปเดตไฟล์ในสำเนาที่ใช้งานอยู่ด้วยเวอร์ชันล่าสุดจากที่เก็บข้อมูล
  • ล็อก : ล็อกไฟล์ในที่เก็บข้อมูลเพื่อป้องกันไม่ให้ผู้ใช้รายอื่นแก้ไข
  • เพิ่ม : ทำเครื่องหมายไฟล์ที่ระบุเพื่อเพิ่มลงในที่เก็บข้อมูลในการคอมมิตครั้งถัดไป
  • ลบ : ทำเครื่องหมายไฟล์ที่ระบุเพื่อลบออกในการคอมมิตครั้งถัดไป (หมายเหตุ: จะคงประวัติการแก้ไขที่สอดคล้องกันทั้งก่อนและหลังการลบ)
  • move : ทำเครื่องหมายไฟล์ที่ระบุเพื่อย้ายไปยังตำแหน่งใหม่ในการคอมมิตครั้งถัดไป
  • คัดลอก : ทำเครื่องหมายไฟล์ที่ระบุเพื่อคัดลอกในการยืนยันครั้งถัดไป
  • ผสาน : นำความแตกต่างระหว่างสองแหล่งข้อมูลไปใช้กับเส้นทางสำเนาที่ใช้งานอยู่
  • commit : บันทึกการเปลี่ยนแปลงใน repository
  • ย้อนกลับ : กู้คืนไฟล์สำเนาการทำงานจากที่เก็บข้อมูล
  • สร้างไฟล์รวม : สร้างไฟล์ที่มีชุดการเปลี่ยนแปลงที่บีบอัดแล้วของที่เก็บข้อมูลที่กำหนด
  • rebase : ส่งต่อการเปลี่ยนแปลงภายในไปยังส่วนหัวอัปสตรีมที่อัปเดตแล้ว
  • หมายเหตุ:คำสั่งที่อยู่ในกรอบสีเขียวซึ่งไม่ได้ล้อมรอบด้วย [วงเล็บเหลี่ยม] คือคำสั่งที่ใช้ในบรรทัดคำสั่งแบบโต้ตอบ ข้อความใน [วงเล็บเหลี่ยม] คือคำอธิบายเกี่ยวกับตำแหน่งที่จะค้นหาฟังก์ชันการทำงานที่เทียบเท่ากันได้
ซอฟต์แวร์ เริ่มต้นคลังเก็บข้อมูลโคลน ดึง ดัน สาขาในท้องถิ่น ชำระเงิน อัปเดต ล็อค เพิ่ม ลบ เคลื่อนไหว สำเนา ผสาน ให้สัญญา ย้อนกลับ สร้างไฟล์บันเดิล ฐานใหม่
AccuRev SCMเอ็มเคดีโปไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล เอ็มเคสตรีมเอ็มเควสอัปเดตแองเคอร์เพิ่มเลิกกิจการแล้วเคลื่อนไหวcp [then] add – incl -s – lnผสานรักษาไว้ – ส่งเสริมล้างข้อมูล – ย้อนกลับไม่มีข้อมูล สตรีม
Azure DevOpsโดยใช้Gitโคลนโดยใช้Gitรับ ให้สัญญา ชุดชั้นวางของ ชำระเงิน รับ ล็อค เพิ่ม ลบ เปลี่ยนชื่อ โดยใช้Gitผสาน ให้สัญญา เลิกทำ โดยใช้Gitรับ
ตลาด GNUinit – init -no-tree [ nb 60 ]init-repo – init-repo -no-trees [ nb 61 ]สาขา – สาขา -ไม่มีต้นไม้[ nb 62 ]ดึงดันเริ่มต้น – สาขาชำระเงิน – ชำระเงิน - น้ำหนักเบา[ nb 63 ]อัปเดตไม่มีข้อมูล เพิ่มอาร์เอ็มเอ็มวีไม่มีข้อมูล ผสานให้สัญญาย้อนกลับส่งรีเบส[ nb 64 ]
บิตคีปเปอร์การตั้งค่าโคลนดึง -Rดันโคลนโคดึงไม่ทราบ เพิ่มอาร์เอ็มเอ็มวีซีพีดึงให้สัญญาเลิกทำเมคแพทช์ทรุด
IBM DevOps Code ClearCaseเริ่มต้นไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ชำระเงินอัปเดตล็อก – ปลดล็อกมเคเลมrmnameเอ็มวีไม่มีข้อมูล ผสานเช็คอินยกเลิกการชำระเงิน – rmverไม่มีข้อมูล findmerge
ซีวีเอสเริ่มต้นไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ชำระเงินอัปเดตไม่ทราบ เพิ่มอาร์เอ็มไม่มีข้อมูล ไม่มีข้อมูล อัปเดต -jให้สัญญาลบ [จากนั้น] อัปเดตไม่มีข้อมูล ไม่มีข้อมูล
ซีวีเอสเอ็นทีเริ่มต้นไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ชำระเงินอัปเดตแก้ไขเพิ่มอาร์เอ็มเปลี่ยนชื่อไม่มีข้อมูล อัปเดต -jให้สัญญาอัปเดต -Cไม่มีข้อมูล ไม่มีข้อมูล
ดาร์คส์เริ่มต้นโคลนดึง[ 59 ]ดันไม่มีข้อมูล[ nb 65 ]โคลนดึง[ 59 ]ไม่ทราบ เพิ่มลบเคลื่อนไหวไม่มีข้อมูล ดึง – ผลักบันทึกย้อนกลับส่ง -o [ nb 66 ]ฐานใหม่
ฟอสซิลใหม่ – เปิดโคลนดึงดันสาขา – คอมมิต – สาขาโคลน/เปิดอัปเดตไม่มีข้อมูล เพิ่มrm/delเปลี่ยนชื่อไม่มีข้อมูล ผสานให้สัญญาย้อนกลับคลังข้อมูลของ Fossil เป็นไฟล์ SQLite ไฟล์เดียว ไม่มีข้อมูล
กิตเริ่มต้น – เริ่มต้น – เปล่าโคลน – โคลน – เปล่าดึงข้อมูลดันสาขาชำระเงินดึงไม่มีข้อมูล เพิ่มอาร์เอ็มเอ็มวีcp [then] git add [ nb 67 ]ผสานให้สัญญารีเซ็ตแบบฮาร์ดบันเดิลฐานใหม่
เปลี่ยนแปลงง่ายเริ่มต้นโคลนดึงดันคั่นหน้า[ nb 68 ]อัปเดต – ขึ้น – ชำระเงิน – ร่วมดึง -uไม่มีข้อมูล เพิ่มลบ – rmย้าย – เอ็มวีสำเนา – cpผสานคอมมิต – ciย้อนกลับบันเดิลรีเบส[ 60 ]
โมโนโทนเริ่มต้นโคลนดึงดันไม่มีข้อมูล ชำระเงินอัปเดตไม่ทราบ เพิ่มหยดเปลี่ยนชื่อไม่มีข้อมูล ผสานให้สัญญาย้อนกลับไม่มีข้อมูล ไม่มีข้อมูล
เพอร์ฟอร์ซ เฮลิกซ์ คอร์p4 client && p4 syncพี4 ซิงค์พี4 ซิงค์p4 ส่งจำเป็นต้องย้ายไปยังฟีเจอร์สตรีมล่าสุด แก้ไขซิงค์ล็อก – ปลดล็อกเพิ่มลบเคลื่อนไหวสำเนาบูรณาการส่งย้อนกลับไม่ทราบ ไม่มีข้อมูล
ระบบควบคุมซอร์สโค้ดสร้างไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล แอดมิน -เฟซบุ๊กรับ (อ่านอย่างเดียว) – แก้ไขรับ (อ่านอย่างเดียว) – แก้ไขไม่มีข้อมูล[ nb 69 ]สร้างไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล แก้ไข -iเดลต้ารับ -rไม่มีข้อมูล แก้ไข -i
การบ่อนทำลายsvnadmin createsvnadmin hotcopy[วิธีแก้ปัญหาชั่วคราว]: svnadmin load[วิธีแก้ไข]: svnadmin dumpไม่มีข้อมูล ชำระเงิน – coอัปเดต – ขึ้นล็อคเพิ่มลบ – del – remove – rmmove – mv – rename – renสำเนา – cpผสานคอมมิต – ciย้อนกลับไม่มีข้อมูล ไม่มีข้อมูล
เซอร์ราวด์ เอสซีเอ็มmkmainlineไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล เอ็มเคแบรนช์ชำระเงินรับชำระเงินเพิ่มอาร์เอ็มเคลื่อนไหวไม่มีข้อมูล ผสานเช็คอินvoidcheckoutไม่มีข้อมูล ฐานใหม่
เวสต้าวีครีเอทวีเรปล์วีเรปล์วีเรปล์ไม่มีข้อมูล เช็คเอาท์วาดวานซ์เช็คเอาท์[... จากนั้น] vcheckin [ nb 70 ]วีอาร์เอ็มmv [then] vcheckin [ nb 71 ]cp [then] vcheckin [ nb 72 ]วีดิฟวีเช็คอินvcheckin -c 0วีเมค [หรือ] เวสต้าวาดวานซ์
Visual SourceSafe? ไม่ทราบ ไม่ทราบ ไม่ทราบ ไม่มีข้อมูล Get LatestGet LatestCheck OutAdd FilesDelete? ไม่ทราบ ? Check InUndo Check Outไม่ทราบ ไม่ทราบ
ซอฟต์แวร์ เริ่มต้นคลังเก็บข้อมูล โคลน ดึง ดัน สาขาในท้องถิ่น ชำระเงิน อัปเดต ล็อค เพิ่ม ลบ เคลื่อนไหว สำเนา ผสาน ให้สัญญา ย้อนกลับ สร้างไฟล์บันเดิล ฐานใหม่

คำสั่งขั้นสูง

ตารางต่อไปนี้แสดงคำสั่งที่ใช้ในการดำเนินการงานทั่วไปในระบบควบคุมเวอร์ชันที่สำคัญต่างๆ

คำอธิบายตาราง

  • ชื่อย่อคำสั่ง : สร้างชื่อย่อที่กำหนดเองสำหรับคำสั่งเฉพาะหรือการรวมกันของคำสั่งเหล่านั้น
  • ล็อก/ปลดล็อก : ล็อกไฟล์ไว้เพื่อป้องกันไม่ให้ผู้อื่นแก้ไขได้
  • พัก/ยกเลิกการพัก : พักการเปลี่ยนแปลงบางส่วนหรือทั้งหมดในไดเร็กทอรีการทำงานไว้ชั่วคราว
  • ย้อนกลับ : ลบแพทช์/การแก้ไขออกจากประวัติ
  • การเลือกเฉพาะส่วนที่ ต้องการแก้ไข (Cherry-picking) : ย้ายเฉพาะส่วนที่ต้องการแก้ไขจากสาขาหนึ่งไปยังอีกสาขาหนึ่ง (แทนที่จะรวมสาขาเข้าด้วยกัน)
  • Bisect : การค้นหาแบบไบนารีในประวัติของซอร์สโค้ดเพื่อหาการเปลี่ยนแปลงที่ทำให้เกิดหรือแก้ไขข้อผิดพลาด
  • ขาเข้า/ขาออก : ตรวจสอบความแตกต่างระหว่างที่เก็บข้อมูลในเครื่องและที่เก็บข้อมูลระยะไกล (แพตช์ที่จะถูกดึง/ส่งเมื่อมีการดึง/ผลักข้อมูล)
  • Grep : ค้นหาบรรทัดที่ตรงกับรูปแบบในที่เก็บข้อมูล
  • บันทึก : รวมเฉพาะการเปลี่ยนแปลงบางส่วนของไฟล์ในการคอมมิตเท่านั้น ไม่รวมการเปลี่ยนแปลงอื่นๆ
  • หมายเหตุ : คำสั่งที่อยู่ในกรอบสีเขียวซึ่งไม่ได้ล้อมรอบด้วย [วงเล็บเหลี่ยม] คือคำสั่งที่ใช้ในบรรทัดคำสั่งแบบโต้ตอบ ข้อความใน [วงเล็บเหลี่ยม] คือคำอธิบายเกี่ยวกับตำแหน่งที่จะค้นหาฟังก์ชันการทำงานที่เทียบเท่ากันได้
ซอฟต์แวร์ ชื่อเรียกแทนคำสั่ง ล็อก/ปลดล็อก วาง/นำออกจากชั้นวาง ย้อนกลับ การเลือกเชอร์รี่ แบ่งครึ่ง ขาเข้า/ขาออก เกรป บันทึก
AccuRev SCMไม่มีข้อมูล เปิดใช้งานการล็อกไฟล์ ไม่มีข้อมูล ย้อนกลับ - ล้างข้อมูลส่งเสริมไม่มีข้อมูล ไม่มีข้อมูล ไม่มีข้อมูล ไม่ทราบ
Azure DevOpsใช่ ล็อก/ปลดล็อกวาง/นำออกจากชั้นวางย้อนกลับผสานไม่มีข้อมูล ไม่ทราบ ไม่ทราบ ไม่มีข้อมูล
ตลาด GNU[ในไฟล์ '.bazaar/bazaar.conf'] ไม่มีข้อมูล วาง/นำออกจากชั้นวางยกเลิกข้อผูกมัดผสาน (ไม่ติดตาม) แบ่งครึ่ง (ปลั๊กอินแบ่งครึ่ง) ขาด-เฉพาะของพวกเขา / -เฉพาะของฉันgrep (ปลั๊กอิน grep) ไม่มีข้อมูล
บิตคีปเปอร์ไม่ทราบ ไม่ทราบ จอด/ยกเลิกการจอดเลิกทำไม่ทราบ แบ่งครึ่งการเปลี่ยนแปลง -R/-Lเกรปไม่ทราบ
ซีวีเอสเอ็นที[ในไฟล์ '.cvsrc'] แก้ไข -x /unedit [ nb 73 ]ไม่มีข้อมูล ผู้ดูแลระบบ -o [ nb 74 ]ใช่[ nb 75 ]ระบุ[ nb 76 ]ไม่มีข้อมูล ไม่มีข้อมูล[ 61 ]ไม่มีข้อมูล
ดาร์คส์ไม่มีข้อมูล ไม่มีข้อมูล ย้อนกลับ/ยกเลิกการย้อนกลับไม่มีบันทึกใช่[ nb 77 ]ทดสอบ -แบ่งครึ่งดึง/ผลัก- ทดลองวิ่งไม่มีข้อมูล บันทึก
ฟอสซิลไม่มีข้อมูล ไม่มีข้อมูล stash pop/stash apply [ nb 78 ]ผสาน - ย้อนกลับผสาน -เลือกเฉพาะส่วนที่ต้องการแบ่งครึ่งไม่มีข้อมูล ค้นหาไม่มีข้อมูล
กิต[ในไฟล์ '.gitconfig'] ไม่มีข้อมูล ซ่อน/ซ่อนป๊อป[ nb 79 ]รีเซ็ต HEAD^เลือกเชอร์รี่แบ่งครึ่งเชอร์รี่เกรปเพิ่ม -p
เปลี่ยนแปลงง่าย[ในไฟล์ '.hgrc'] ไม่มีข้อมูล วาง/ถอดออกจากชั้นวาง (ส่วนขยายแบบรวม[ 62 ] ) แถบ (ส่วนขยายแบบมัด[ 63 ] ) กราฟต์ (แกน[ 64 ] ) หรือการปลูกถ่าย (ส่วนขยายแบบมัด[ 65 ] ) แบ่งครึ่งขาเข้า/ขาออกเกรปคอมมิต-อินเตอร์แอคทีฟ
โมโนโทน[ใน monotonerc] ไม่มีข้อมูล ไม่มีข้อมูล kill_rev_locally [ nb 80 ]ดึงแบ่งครึ่งไม่มีข้อมูล ไม่มีข้อมูล ไม่ทราบ
เพอร์ฟอร์ซ เฮลิกซ์ คอร์ผ่านนายหน้า[ 66 ]ล็อก/ปลดล็อกวาง/นำออกจากชั้นวางทำลายล้างอินทิก[ 67 ]ไม่ทราบ ทางแยกต่างระดับเกรปไม่ทราบ
การบ่อนทำลายไม่มีข้อมูล ล็อก/ปลดล็อกวาง/นำออกจากชั้นวาง[ nb 81 ]ไม่มีข้อมูล svnmerge cherry-pickingเครื่องมือของบุคคลที่สาม[ nb 82 ]สถานะ -u [ nb 83 ]ไม่มีข้อมูล ไม่มีข้อมูล
เซอร์ราวด์ เอสซีเอ็มไม่มีข้อมูล ชำระเงินชั้นวางย้อนกลับการเปลี่ยนแปลงซ้ำไม่มีข้อมูล ความแตกต่างค้นหาไม่มีข้อมูล
ซอฟต์แวร์ ชื่อเรียกแทนคำสั่ง ล็อก/ปลดล็อก วาง/นำออกจากชั้นวาง ย้อนกลับ การเลือกเชอร์รี่ แบ่งครึ่ง ขาเข้า/ขาออก เกรป บันทึก

ส่วนติดต่อผู้ใช้

ตารางต่อไปนี้แสดงข้อมูลจำเพาะของอินเทอร์เฟซเว็บ, GUI และ IDE สำหรับระบบควบคุมเวอร์ชันที่สำคัญต่างๆ

คำอธิบายตาราง

  • ซอฟต์แวร์ : ชื่อของแอปพลิเคชันที่กำลังอธิบายอยู่
  • ส่วนต่อประสานเว็บ : อธิบายว่าแอปพลิเคชันซอฟต์แวร์มีส่วนต่อประสานเว็บหรือไม่ ส่วนต่อประสานเว็บอาจช่วยให้ซอฟต์แวร์ส่งข้อมูลการวินิจฉัยไปยังเว็บไซต์ หรืออาจอนุญาตให้ควบคุมแอปพลิเคชันซอฟต์แวร์จากระยะไกลได้
  • GUI : GUI ย่อมาจาก Graphical User Interface (ส่วนต่อประสานผู้ใช้แบบกราฟิก) หากผลิตภัณฑ์ซอฟต์แวร์มี GUI ฟังก์ชันการทำงานต่างๆ จะสามารถเข้าถึงได้ผ่านหน้าต่างแอปพลิเคชัน แทนที่จะเข้าถึงฟังก์ชันการทำงานโดยการพิมพ์คำสั่งที่พรอมต์คำสั่ง เช่นเดียวกับอินเทอร์เฟซ DOS
  • ปลั๊กอิน : ฟังก์ชันต่างๆ สามารถใช้งานได้ผ่านสภาพแวดล้อมการพัฒนาแบบบูรณาการ ฟังก์ชันขั้นต่ำควรมี ได้แก่ การแสดงสถานะการแก้ไขของไฟล์ และการเช็คอิน/เช็คเอาท์ไฟล์
ซอฟต์แวร์ อินเทอร์เฟซเว็บ GUIแบบสแตนด์อะโลนการผสานรวมและ/หรือปลั๊กอินสำหรับIDE
AccuRev SCMใช่ ระบบปฏิบัติการ ที่รองรับ ได้แก่ Windows (รวมถึงการผสานรวมกับ Explorer) , Linux , Unix , macOSและBeOSIntelliJ IDEA , Eclipse , Visual Studio
Azure DevOpsรวมถึง (SharePoint Server ที่ใช้สำหรับบริการเว็บ) มี Windows ให้เลือกใช้; macOS และ Unix ก็มีให้เลือกใช้เช่นกัน Visual Studio ไคลเอนต์ Java สำหรับ Eclipse IDE และ IntelliJ IDEA (มีให้ใช้งานใน Ultimate Edition)
ตลาด GNUสามารถใช้เว็บเซิร์ฟเวอร์ธรรมดาได้ Olive, bzr-gtk ( GTK +), Bazaar Explorer ( Qt ), QBzr ( Qt ), TortoiseBzr (Windows) Eclipse (BzrEclipse, QBzrEclipse), Visual Studio (bzr-visualstudio), TextMate (TextMateBundle), Komodo IDE , Wing IDE
บิตคีปเปอร์รวมอยู่ด้วย รวมอยู่ด้วย (bkd) ไม่ทราบ
ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CAรวมอยู่ด้วย GUI ที่ใช้ Eclipse อีคลิปส์ , เอ็มเอส วิชวล สตูดิโอ
IBM DevOps Code ClearCaseรวมถึง Clearcase Web Interface ด้วย รุ่นเก่า: แอปพลิเคชันดั้งเดิมของ MS Windows, GUI ที่ใช้ Motif สำหรับ ระบบ ที่คล้าย Unix , ไคลเอนต์ TSOสำหรับz/ OS Emacs , Eclipse (ซอฟต์แวร์เฉพาะของ IBM, Eclipse-CCase), Visual Studio (ซอฟต์แวร์เฉพาะของ IBM), KDevelop (ซอฟต์แวร์มาตรฐาน?), IntelliJ IDEA (ซอฟต์แวร์มาตรฐานใน Ultimate Edition)
โค้ด สหกรณ์ไม่จำเป็น เนื่องจากโปรเจ็กต์ทั้งหมดถูกจำลองไว้ในเครื่องแล้ว วินโดวส์ ไม่ทราบ
ซีวีเอสcvsweb, ViewVCและอื่นๆ TortoiseCVS (Windows Explorer), TkCVS ( Tcl / Tk ), WinCVS , macOS, GTK , Qt พร้อมใช้งาน Eclipse (Team), KDevelop (มาตรฐาน), IntelliJ IDEA (มาตรฐานใน Community และ Ultimate Editions), Emacs (VC มาตรฐาน), Komodo IDE , BBEdit , Wing IDE
ซีวีเอสเอ็นทีcvsweb, ViewVCและอื่นๆ รองรับ Windows, macOS, OS/400 , GTK และ Qtปลั๊กอินทั้งหมดที่รองรับ CVS รวมถึงปลั๊กอินเชิงพาณิชย์สำหรับ SCCI, Bugzilla และ Build
ดาร์คส์darcs.cgiรวมถึง; darcsweb, Tracอยู่ระหว่างการพัฒนา; TortoiseDarcs (Windows Explorer), macOS (เวอร์ชันอัลฟ่า) Eclipse (eclipsedarcs), Emacs (vc-darcs.el)
ขนาด (ซม.)ใช่ ระบบปฏิบัติการ Windows (รวมถึงการผสานรวมกับ Explorer)Eclipse , Visual Studio , IntelliJ IDEA , XCode , Powerbuilder
ฟอสซิลมีเว็บเซิร์ฟเวอร์ในตัว (โหมด UI/เซิร์ฟเวอร์) และสามารถเรียกใช้งานหลาย repository ผ่านโหมด CGI ได้ เชื้อเพลิง-เอสซีเอ็ม ไม่ทราบ
กิตGitweb, wit, cgit, GitLab , GitHub , gitorious , Trac , Kallithea , Bitbucket , Stash, Springloops , Bonobo Git Server, Gitea , Gogs gitk ( wish ), git-gui ( Tcl / Tk ), tig, Gitbox ( macOS ), TortoiseGit , qgit, gitg ( GNOME / GTK ), (h)gct ( Qt ), git-cola (Qt), Git Extensions (Windows), GitEye, SmartGit/Hg, Tower, SourceTree (macOS/Windows), Sprout (macOS), GitX (macOS), GitUp (macOS), GitKraken , Sublime Merge Aptana 3 Beta (Aptana Studio 3 พร้อมการผสานรวม Git); Atom ; Eclipse (JGit/EGit); Helix TeamHub ; Netbeans (NbGit); KDevelop ; Visual Studio (ส่วนขยาย Git); Emacs (ส่วนขยายสำหรับ VC มาตรฐาน, Magit ); SAP Web IDE; TextMate (Git TextMate Bundle); Vim (ปลั๊กอิน VCSCommand และปลั๊กอิน fugitive); IntelliJ IDEA >8.1 (มาตรฐานใน Community และ Ultimate Editions); Komodo IDE ; Anjuta ; XCode , Wing IDE ; PyCharm
สถาปัตยกรรม GNUอาร์ชซูม ArchWay ( GTK 2), TlaLog Emacs (VC มาตรฐาน)
ไอซี แมเนจรวมอยู่ด้วย วินโดวส์, ลินุกซ์, ยูนิกซ์, มอสซาเรลล่า Emacs, Cadence Design Framework, Synopsys Custom Designer
เอ็มเคเอส อินทิกอรี่ใช่ วินโดวส์, ลินุกซ์, ยูนิกซ์, โซลาริส, เอไอเอ็กซ์, Eclipse, Microsoft Visual Studio, Perforce และอื่นๆ นอกจากนี้ยังให้การสนับสนุนอินเทอร์เฟซ Source Code Control (SCC) มาตรฐานอุตสาหกรรม[ 68 ]
เปลี่ยนแปลงง่ายรวมถึง[ nb 84 ] Trac , KallitheaHgk ( Tcl / Tk ), (h)gct (Qt), TortoiseHg (Windows Explorer, Nautilus), MacHg,

MacMercurial, Murky, SourceTree (Windows/macOS), TortoiseHg, SmartGit/Hg

IntelliJ IDEA (ปลั๊กอิน hg4idea), Eclipse (Mercurial Eclipse), NetBeans, Visual Studio 2008, Emacs , Vim (ปลั๊กอิน VCSCommand), Komodo IDE , Eric Python IDE , Wing IDE
โมโนโทนViewMTN, TracMonotone, Monotone-Viz ( GTK +), Guitone ( Qt ), Monotone Browser ( GTK +, Perl ) ไม่ทราบ
เพอร์ฟอร์ซ เฮลิกซ์ คอร์รวมถึง P4Web และ P4FTP วินโดวส์, ลินุกซ์, แมค, ระบบปฏิบัติการ macOS Eclipse , Visual Studio , Matlab ; เอ็นจิ้นเกม: Unity , Unreal , Amazon Lumberyard ; กราฟิก: Autodesk Maya , 3ds max , Adobe PS
คอนเสิร์ตทีมราชันย์ใช่ GUI ที่ใช้ Eclipse การทำงานร่วมกับ Eclipse; การทำงานร่วมกับ MS Visual Studio (แบบจำกัด)
ทีมสตาร์รวมอยู่ด้วย Windows, Java , Eclipse, Visual Studio, การผสานรวม BDS2006 และ Java command-line IntelliJ IDEA (มีให้ใน Ultimate Edition), Visual Studio, JBuilder, Eclipse
การบ่อนทำลายรวมโมดูล Apache 2, WebSVN, ViewSVN, ViewVC , Trac , SharpForge , Sventon และSpringloopsJava, KDESVN, macOS [ 69 ] (รวมถึงการผสานรวม Finder), Nautilus, Qt, RabbitVCS, RapidSVN, SourceTree (macOS), TortoiseSVN (Windows Explorer) Anjuta , BBEdit , Eclipse (Subclipse, Subversive), Emacs (VC มาตรฐาน), IntelliJ IDEA (มาตรฐานใน Community และ Ultimate Editions), KDevelop (มาตรฐาน), Komodo IDE , MonoDevelop (มาตรฐาน), Netbeans, RabbitVCS (สำหรับ GEdit), TextMate (ปลั๊กอิน SVNMate), Visual Studio (AnkhSVN, VisualSVN ), Wing IDE
เซอร์ราวด์ เอสซีเอ็มใช่ วินโดวส์, มอสซาเรธ, ลินุกซ์ Eclipse , IntelliJ IDEA , JDeveloper , NetBeans , Visual Studio , WebStorm
การทำงานร่วมกันผ่านอินเทอร์เฟซการเปลี่ยนแปลง Telelogic ระบบปฏิบัติการ Windows (รวมถึงการทำงานร่วมกับ Explorer), Linux, Unix Eclipse (ซอฟต์แวร์กรรมสิทธิ์ของ Telelogic), Visual Studio (ซอฟต์แวร์กรรมสิทธิ์ของ Telelogic), IntelliJ IDEA (ซอฟต์แวร์กรรมสิทธิ์ของ Telelogic)
ห้องนิรภัยรวมอยู่ด้วย วินโดวส์, ระบบปฏิบัติการคล้ายยูนิกส์, ระบบปฏิบัติการ macOS Visual Studio 2003 ขึ้นไป, Eclipse 3.2 ขึ้นไป
เวสต้าเวสต้าเว็บ เลขที่ เลขที่
Visual SourceSafeไม่มีการรวมไว้; SSWI, VSS Remoting รวมถึง Windows; Linux, macOS และ Solaris โดยใช้ SourceOffSite; และ Java VM ใดๆ ก็ได้โดยใช้Sourceanywhereสำหรับ VSS Visual Studio, IntelliJ IDEA (มีให้ใช้งานใน Ultimate Edition)
ซอฟต์แวร์ อินเทอร์เฟซเว็บ GUIแบบสแตนด์อะโลนการผสานรวมและ/หรือปลั๊กอินสำหรับIDE

ประวัติและการรับเลี้ยงบุตรบุญธรรม

ตารางต่อไปนี้แสดงข้อมูลพื้นฐานทางประวัติศาสตร์เกี่ยวกับระบบควบคุมเวอร์ชันต่างๆ:

คำอธิบายตาราง

  • ซอฟต์แวร์ : ชื่อของแอปพลิเคชันที่กำลังอธิบายอยู่
  • ประวัติ : อธิบายโดยย่อถึงที่มาและการพัฒนาของซอฟต์แวร์
  • ผู้ใช้งานปัจจุบันที่น่าสนใจ : คือรายชื่อโครงการที่มีชื่อเสียงซึ่งใช้ซอฟต์แวร์นี้เป็น ระบบควบคุมเวอร์ชัน หลักโดยไม่รวมตัวซอฟต์แวร์เอง และจะมีลิงก์ไปยังรายชื่อทั้งหมดหากมี
ซอฟต์แวร์ ประวัติศาสตร์ ผู้ใช้งานปัจจุบันที่น่าสนใจ
AccuRev SCMเปิดตัวสู่สาธารณะครั้งแรกในปี 2545
Azure DevOps Serverเปิดตัวสู่สาธารณะครั้งแรกในเดือนมีนาคม พ.ศ. 2549 ในชื่อ Visual Studio Team System เปลี่ยนชื่อเป็น Team Foundation Server ในปี พ.ศ. 2553 และ Azure DevOps Server ในปี พ.ศ. 2562 ไมโครซอฟต์
บริการ Azure DevOpsเปิดตัวสู่สาธารณะครั้งแรกในปี 2012 ในชื่อ Team Foundation Service เปลี่ยนชื่อเป็น Visual Studio Online ในปี 2013, Visual Studio Team Services ในปี 2015 และ Azure DevOps ในปี 2018 ไมโครซอฟต์
ตลาด GNUเผยแพร่ครั้งแรกเมื่อวันที่ 26 มีนาคม 2548 มีความเกี่ยวข้องกับbaz อย่างหลวมๆ สนับสนุนโดยCanonical Ltd.
บิตคีปเปอร์เปิดตัวครั้งแรกเมื่อวันที่ 4 พฤษภาคม 2543 ได้รับอิทธิพลมาจากSun WorkShop TeamWare
ผู้จัดการการเปลี่ยนแปลงซอฟต์แวร์ CAบริษัทก่อตั้งขึ้นครั้งแรกในปี 1977 โดยผลิตภัณฑ์ CA SCM (ซึ่งในขณะนั้นเรียกว่า CCC/Harvest) เปิดตัวครั้งแรกในปี 1995
IBM DevOps Code ClearCaseพัฒนาขึ้นครั้งแรกในปี 1990 โดย Atria Software โดยอิงตามแนวคิดที่Apollo Computer พัฒนาขึ้น ใน DSEE ในช่วงทศวรรษ 1980 เวอร์ชันล่าสุดคือ 9.0.0 ซึ่งวางจำหน่ายในเดือนมีนาคม 2016
โค้ด สหกรณ์VCS แบบกระจายตัวแรกที่สาธิตในปี 1997 [ 70 ]วางจำหน่ายในเวลาไม่นานหลังจากนั้น
ซีวีเอสเผยแพร่สู่สาธารณะครั้งแรกเมื่อวันที่ 3 กรกฎาคม 1986 โดยอิงจากRCSเน็ตบีเอสดี , โอเพนบีเอสดี
ซีวีเอสเอ็นทีเปิดตัวสู่สาธารณะครั้งแรกในปี 1998 โดยอิงจากCVSเริ่มต้นโดย นักพัฒนา CVSโดยมีเป้าหมายเพื่อเพิ่มการสนับสนุนวิธีการและกระบวนการพัฒนาที่หลากหลายยิ่งขึ้น
ดาร์คส์ประกาศครั้งแรกเมื่อวันที่ 9 เมษายน 2546
ขนาด (ซม.)โปรแกรมนี้ได้รับการพัฒนาโดย SQL Software ภายใต้ชื่อ "PCMS Dimensions" ในช่วงปลายทศวรรษ 1980 (PCMS ย่อมาจาก Product Configuration Management) ต่อมาได้มีการควบรวมกิจการและวางจำหน่ายในชื่อต่างๆ ได้แก่ "PVCS Dimensions" (ทศวรรษ 1990, Intersolv), "Dimensions" (ต้นทศวรรษ 2000, Merant), "ChangeMan Dimensions" (ปี 2004, Serena Software ) และสุดท้ายคือ " Dimensions CM " (ตั้งแต่ปี 2007, Serena Software )
ฟอสซิลFossil และ SQLite เริ่มใช้ Fossil ตั้งแต่วันที่ 21 กรกฎาคม 2550
กิตเริ่มต้นโดยLinus Torvaldsในเดือนเมษายน พ.ศ. 2548 หลังจากเกิดข้อโต้แย้ง เกี่ยว กับ BitKeeper [ 71 ]เคอร์เนล Linux , Android , OpenJDK , Bugzilla , DragonFly BSD , FreeBSD , gcc , [ 72 ] GNOME , GNU Emacs , GnuPG , [ 73 ] GRUB2 , KDE , MySQL , Perl 5 , [ 74 ] PostgreSQL , Python , [ 75 ] X.Org , Cairo , Qt Development Frameworks , Samba , OpenEmbedded , Ruby , Ruby on Rails , Wine , Fluxbox , Openbox , Compiz Fusion , XCB , Xen , ELinks , XMMS2, e2fsprogs , GNU Core Utilities , DokuWiki , Drupal , LibreOffice , MediaWiki , [ 76 ] Mono , ASP.NET MVC , ADO.NET Entity Framework , NuGet , jQueryและอื่นๆ อีกมากมาย ของปลั๊กอินต่างๆ เช่นOpenCV , Twitter , Netflix , LinkedIn , Wireshark , Djangoรวมถึงบริษัทต่างๆ เช่นEclipse Foundation , Ericsson , Microsoft , [ 77 ] Huawei , Apple , Amazon , LG
สถาปัตยกรรม GNUโครงการ นี้เริ่มต้นโดยทอม ลอร์ดในปี 2001 และต่อมาได้กลายเป็นส่วนหนึ่งของ โครงการ GNUลอร์ดลาออกจากตำแหน่งผู้ดูแลในเดือนสิงหาคม 2005
ไอซี แมเนจพัฒนาโดย IC Manage, Inc. ซึ่งก่อตั้งขึ้นในปี 2546 โดย Shiv Sikand และ Dean Drako
ความสมบูรณ์ของ PTCเดิมทีพัฒนาโดย MKS Software ซื้อกิจการโดย PTC ในเดือนพฤษภาคม 2554 [ 78 ]
เปลี่ยนแปลงง่ายเริ่มต้นเมื่อวันที่ 6 เมษายน พ.ศ. 2548 โดย Matt Mackall หลังจากเกิดข้อโต้แย้ง เกี่ยว กับ BitKeeper [ 71 ]เผยแพร่ครั้งแรกเมื่อวันที่ 19 เมษายน พ.ศ. 2548 ไลบรารีความแม่นยำหลายค่าของ GNU , GNU Octave , Pidgin , XEmacs [ 79 ]
โมโนโทนวางจำหน่ายครั้งแรกในเดือนเมษายน พ.ศ. 2546
เพอร์ฟอร์ซ เฮลิกซ์ คอร์พัฒนาโดยบริษัท Perforce Software, Inc. ซึ่งก่อตั้งขึ้นในปี 1995 โดย Christopher Seiwald
คอนเสิร์ตทีมราชันย์เวอร์ชัน 1.0 เปิดตัวในเดือนมิถุนายน พ.ศ. 2551
ระบบควบคุมการแก้ไขกรกฎาคม 2528
ระบบควบคุมซอร์สโค้ดเริ่มต้นโดยMarc Rochkindในปี 1972 (ไฟล์ประวัติแบบไบนารี เขียนด้วย Snobol บน IBM-370 [ 80 ] SCCSv4 พร้อมไฟล์ประวัติแบบข้อความได้รับการเผยแพร่เมื่อวันที่ 18 กุมภาพันธ์ 1977 [ 81 ]รูปแบบไฟล์ประวัติเดียวกันนี้ยังคงใช้ใน SCCS 5.0 [ 82 ]
ทีมสตาร์เวอร์ชัน 1.0 พ.ศ. 2538; [ 83 ]พัฒนาโดยซอฟต์แวร์ StarBase ซึ่งถูกซื้อกิจการโดย Borland (ซึ่งถูกซื้อกิจการโดย Micro Focus)
Apache Subversionเริ่มต้นในปี 2000 โดย นักพัฒนา ของ CVSโดยมีเป้าหมายเพื่อทดแทน CVS
การทำงานร่วมกันผลิตภัณฑ์นี้ได้รับการพัฒนาขึ้นครั้งแรกในปี 1988 โดย Caseware ในชื่อ AmplifyControl ต่อมาบริษัทได้เปลี่ยนชื่อเป็น Continuus ในปี 1994 และผลิตภัณฑ์นี้เป็นที่รู้จักกันดีในชื่อ Continuus/CM Continuus ถูกซื้อกิจการโดย Telelogic ในปี 1999 หลังจากที่เข้าสู่ตลาดหลักทรัพย์ได้ไม่นาน และผลิตภัณฑ์นี้ได้เปลี่ยนชื่อเป็น Telelogic Synergy IBM ได้เข้าซื้อกิจการ Telelogic ในปี 2008 เพื่อนำไปรวมเข้ากับชุดเครื่องมือ Rational ของตน ปัจจุบันผลิตภัณฑ์นี้รู้จักกันในชื่อ IBM Rational Synergy
ห้องนิรภัยเปิดตัวสู่สาธารณะครั้งแรกในเดือนกุมภาพันธ์ พ.ศ. 2546 ไม่ทราบ
เวสต้าเผยแพร่สู่สาธารณะครั้งแรกภายใต้ลิขสิทธิ์ LGPL ในปี 2544
Visual SourceSafeเดิมทีโปรแกรมนี้ถูกสร้างขึ้นโดยบริษัทชื่อ One Tree Software เวอร์ชัน 3.1 ต่อมาบริษัทนี้ถูกซื้อกิจการโดย Microsoft ซึ่งได้ออกเวอร์ชัน 4.0 ของ VSS ในช่วงประมาณปี 1995
ซอฟต์แวร์ ประวัติศาสตร์ ผู้ใช้งานปัจจุบันที่น่าสนใจ

ดูเพิ่มเติม

หมายเหตุ

  1. ใน ClearCase สามารถตั้งค่าทริกเกอร์เพื่ออนุญาตให้ใช้โมเดลการล็อกได้ และหลายๆ ไซต์ก็ทำเช่นนี้ อย่างไรก็ตาม การพัฒนา ClearCase มักเกิดขึ้นบนสาขาแบบส่วนตัว ซึ่งนักพัฒนาแต่ละคนจะได้รับสาขาของตนเอง ดังนั้นโมเดลการทำงานพร้อมกันแบบล็อกเทียบกับการรวมจึงไม่สำคัญมากนัก โค้ดจะถูกรวมกลับไปยังสาขาหลักเมื่อนักพัฒนาพร้อมที่จะส่งมอบโค้ดให้กับโครงการ
  2. ^ RTC ไม่ใช่ระบบควบคุมเวอร์ชันแบบกระจาย แต่มีคุณสมบัติแบบกระจายบางอย่างที่สามารถกำหนดค่าได้
  3. ^มีการแยกสาขาต่างๆ ของซอร์สโค้ด Unix ดั้งเดิมอยู่หลายเวอร์ชัน แต่มีเพียงเวอร์ชันเดียวเท่านั้นที่ยังคงได้รับการดูแลรักษาอย่างต่อเนื่อง
  4. ^แม้ว่าผู้ใช้หลายคนจะสามารถแก้ไขไฟล์เวอร์ชันเดียวกันได้พร้อมกัน แต่จะมีเพียงผู้ใช้คนเดียวเท่านั้นที่สามารถบันทึกการเปลี่ยนแปลงกลับไปได้
  5. ^แม้ว่าบางเวอร์ชันของ SCCS จะเป็นซอฟต์แวร์โอเพนซอร์ส แต่บางเวอร์ชันก็ยังคงเป็นซอฟต์แวร์ปิดที่เป็นส่วนหนึ่งของระบบปฏิบัติการ Unix เชิงพาณิชย์
  6. ^ใน Subversion แอตทริบิวต์ไฟล์ช่วยให้สามารถใช้โมเดลการล็อกแบบต่อไฟล์ได้ แอตทริบิวต์ไฟล์นี้สามารถตั้งค่าได้โดยอัตโนมัติโดยใช้การแสดงนิพจน์ตัวแทนชื่อไฟล์
  7. โมดูลที่สำคัญของ Bazaar เขียนด้วยภาษา Pyrex และจะถูกแปลงเป็นภาษา C โดยอัตโนมัติ ยกเว้น โมดูล การเรียงลำดับแบบอดทนซึ่งใช้ในการแก้ไขการรวมโค้ด โดยโมดูลนี้เขียนด้วยภาษา C โดยตรง
  8. ^ชุดข้อมูล Bazaar คือส่วนต่างสรุปที่มีข้อมูลเพิ่มเติมเพียงพอที่จะรักษาประวัติการเปลี่ยนแปลงไว้
  9. ^สแนปช็อตพร้อมไฟล์ไบนารี มีการหารือเกี่ยวกับการใช้ชุดการเปลี่ยนแปลงแบบไบนารีในอนาคต (darcs 3)
  10. ^ 4 MB ซึ่งเป็นไฟล์ sqlite3.c
  11. ^หมายเลขการแก้ไขของ Mercurial เป็นหมายเลขเฉพาะของแต่ละ repository ซึ่งอาจแตกต่างกันไปในแต่ละ repository ขึ้นอยู่กับลำดับการรวมข้อมูลที่ดำเนินการ
  12. ^การแก้ไขของ Monotone แสดงถึงชุดการเปลี่ยนแปลง และไฟล์ Manifest แสดงถึงภาพรวม (snapshot) โดยแต่ละการแก้ไขจะเชื่อมโยงกับไฟล์ Manifest บางไฟล์ แต่ไฟล์ Manifest เป็นโครงสร้างแบบเก่า ไม่ได้เก็บไว้ในฐานข้อมูลอีกต่อไป และจะถูกสร้างขึ้นใหม่เมื่อจำเป็น งานที่แท้จริงในปัจจุบันเกิดขึ้นใน Roster ซึ่งเป็นโครงสร้างแบบผสมผสานระหว่างภาพรวมและชุดการเปลี่ยนแปลง
  13. ^ฝาแฝดชั่วร้ายพบได้ทั่วไปฝาแฝดชั่วร้ายใน SCM ไม่ใช่ฮอลลีวูด เก็บถาวรเมื่อ 2013-10-16 ที่ Wayback Machine
  14. ^สามารถเปิดใช้งานการคอมมิตแบบอะตอมิกสำหรับการเช็คอินแต่ละรายการได้ (หมายเหตุ: ClearCase 7.1.1 เวอร์ชันนี้หมายถึงบันทึก การเปลี่ยนแปลง )
  15. ^ดูคำถามที่พบบ่อย
  16. ^แพทช์แต่ละตัวของ darcs จะมีตัวระบุที่ไม่ซ้ำกัน ทำให้ไม่สามารถรวมแพทช์เดียวกันสองครั้งในที่เก็บข้อมูลได้ (โดยไม่แก้ไขประวัติโดยใช้คำสั่ง "unsafe")
  17. ^แม้ว่าจะจัดเก็บ (และแสดงผลตามค่าเริ่มต้น) ชื่อไฟล์แบบ 8 บิตก็ตาม ดูคำถามที่พบบ่อย
  18. ^การใช้แอตทริบิวต์การแก้ไขรายการ (ตัวอย่าง "การทำงานกับรายการ" ซึ่งครอบคลุมแอตทริบิวต์ที่ผู้ใช้กำหนดเองเก็บถาวรเมื่อ 2016-03-04 ที่ Wayback Machine )
  19. ^ในแง่ที่ว่าข้อความและส่วนติดต่อผู้ใช้แบบกราฟิกมีการแปลเป็นภาษาอังกฤษเท่านั้น แม้ว่าซอฟต์แวร์จะได้รับการรับรองว่าทำงานได้ดีบนระบบปฏิบัติการหลายภาษา
  20. ^ควบคุมโดยการตั้งค่า 'crnl-glob' ( [1] )
  21. ^ Git ไม่ได้ติดตามการเปลี่ยนชื่อไฟล์โดยตรง เนื่องจากโดยหลักการแล้วมันไม่ได้ติดตามไฟล์แต่ละไฟล์ การเปลี่ยนชื่อและการแยกไฟล์ต้นฉบับจะถูกตรวจพบในภายหลัง หากเนื้อหาของไฟล์ไม่ได้เปลี่ยนแปลงอย่างมาก
  22. ^ตั้งแต่ git-1.7.9 (ดูบันทึกการเผยแพร่ลิงก์ที่เลิกใช้แล้วถูกเก็บถาวรเมื่อ 2013-04-15 ที่ archive.today ) เวอร์ชันเก่ากว่าจะไม่ลงนามในคอมมิต แต่จะลงนามเฉพาะแท็กเท่านั้น (ดูตัวเลือก -s ในหน้าคู่มือ git-tag(1) )
  23. ^รองรับชื่อไฟล์ UTF-8 ตั้งแต่เวอร์ชัน 1.7.10 เป็นต้นไป (ดูบันทึกการเผยแพร่ของ MSysGit )
  24. ^ Git มีปัญหาบางอย่างกับที่เก็บข้อมูลขนาดใหญ่มาก โปรดดูส่วน "การสนับสนุนไฟล์ขนาดใหญ่ที่ดีขึ้น"และส่วน "การออกแบบรูปแบบดัชนีที่เร็วขึ้น"ใน SoC 2012 Ideas
  25. ^ชุดการเปลี่ยนแปลงที่เปิดใช้งานความสมบูรณ์จะให้เวิร์กโฟลว์ที่สมบูรณ์และลายเซ็นดิจิทัลที่สอดคล้องกับ 21 CFR Part 11 สำหรับรายการที่ควบคุมชุดการเปลี่ยนแปลงนั้น
  26. ^ในเวอร์ชัน SP5 ปี 2009 ได้เพิ่มฟีเจอร์สำหรับการรวมเส้นทางการพัฒนาของเด็ก
  27. ^ Mercurial มีระบบรองรับหลายภาษาณ ปี 2017
  28. ^การสนับสนุนขึ้นอยู่กับระบบปฏิบัติการโฮสต์และได้รับการสนับสนุนอย่างดีในระบบ Unix แต่ไม่ใช่ระบบปฏิบัติการ Windows เนื่องจากขาดการสนับสนุนจากโฮสต์ ดู [2]
  29. ^สามารถทำได้ผ่าน hooks ระดับผู้ใช้
  30. ^ Perforce จะควบคุมเวอร์ชันของลิงก์สัญลักษณ์เอง แต่จะไม่รู้จักมุมมองที่ควบคุมเวอร์ชันของตัวเอง (โครงสร้างไฟล์ในเครื่อง) หากคุณเข้าถึงมุมมองเหล่านั้นผ่านลิงก์สัญลักษณ์
  31. ^ผ่านองค์ประกอบพฤติกรรมกระบวนการ: ที่ปรึกษาการดำเนินงานและผู้เข้าร่วมการดำเนินงาน http://jazz.net/library/article/292
  32. ^แม้ว่าซอร์สโค้ดของ SCCS จะถูกเขียนขึ้นเพื่อรองรับการใช้งานหลายภาษา แต่ข้อความที่มีอยู่มีเฉพาะภาษาอังกฤษเท่านั้น
  33. ^ StarTeam รองรับการคอมมิตแบบอะตอมิกตั้งแต่เวอร์ชัน 2006
  34. ^ Subversion สามารถย้ายไฟล์และรักษาประวัติการย้ายไว้ได้ก็ต่อเมื่อปลายทางของการย้ายอยู่ในที่เก็บ Subversion เดียวกันกับแหล่งที่มาเท่านั้น การย้ายข้ามที่เก็บต้องใช้เครื่องมือของบุคคลที่สาม
  35. ^ตั้งแต่ SVN เวอร์ชัน 1.8 เป็นต้นมา Subversion รองรับการติดตามการย้ายไฟล์ที่ดีขึ้นในฝั่งไคลเอ็นต์ แต่ยังไม่รองรับในฝั่งเซิร์ฟเวอร์
  36. ^ "การลงนามการเปลี่ยนแปลง"รายชื่อผู้รับจดหมายของ Apache Subversion เรียกดูเมื่อ2016-08-05
  37. ^ใหม่ใน SVN 1.5 < http://subversion.apache.org/docs/release-notes/1.5.html#merge-tracking > เครื่องมือแยกต่างหาก "svnmerge" < [3] > ให้การติดตามการรวมสำหรับเวอร์ชันเก่ากว่า
  38. ^ใน Subversion แท็กเป็นกรณีพิเศษของแนวคิด "สำเนาราคาถูก" ทั่วไปของ Subversion ตามธรรมเนียมแล้ว แท็กคือสำเนาที่อยู่ในไดเร็กทอรีชื่อ "tags" ด้วยเหตุนี้ แม้แต่แท็กก็มีการกำหนดเวอร์ชัน ดู ข้อมูลเพิ่มเติมได้ ที่ http://svnbook.red-bean.com/nightly/en/svn.branchmerge.tags.htmlเหตุผลที่ตารางนี้รองรับเพียงบางส่วนก็เพราะการจำลองแท็กของ Subversion ในลักษณะนี้ไม่ตรงตามข้อกำหนดที่ว่าชื่อแท็กสามารถใช้แทนตัวระบุการแก้ไขใดๆ ก็ได้ในกรณีที่ผู้ใช้ต้องป้อนตัวระบุ คอลัมน์นี้จะไม่มีความหมายหากคำจำกัดความถูกขยายให้ครอบคลุมวิธีการของ Subversion เนื่องจากระบบควบคุมเวอร์ชันทุกระบบรองรับการสร้างสาขาและจะรองรับแท็กด้วยเช่นกัน
  39. ^ในเวอร์ชันที่วางจำหน่ายในเอเชีย (v6.6a ถึง v7.1a) และตั้งแต่เวอร์ชัน 7.2 เป็นต้นไปโดยทั่วไป
  40. ^ประวัติการเปลี่ยนแปลงเวอร์ชันจะถูกลบออกเมื่อเปลี่ยนชื่อ และจะไม่มีการอ้างอิงถึงชื่อเดิม
  41. ^ยังไม่ได้ดำเนินการ
  42. ^ไม่สามารถปิดใช้งานได้ในมุมมองแบบไดนามิก
  43. ^ใช้ชื่อแทนของไฟล์ CVSROOT/modules
  44. ^ CVS จะบันทึกบิตที่สามารถเรียกใช้งานได้เมื่อเพิ่มไฟล์ แต่ไม่อนุญาตให้เปลี่ยนแปลงในภายหลัง
  45. ^นี่คือคุณสมบัติของ GUI ที่รองรับโดย TortoiseCVS และ WinCVS ซึ่งทั้งสองโปรแกรมนี้มี/ใช้ CVSNT
  46. ^เหมือนกับ CVS แต่เพิ่มเติมความสามารถในการมีคลังเก็บข้อมูลที่จำลองแบบได้ รวมถึงคลังเก็บข้อมูล 'เงา' ด้วย
  47. ^ใช้ชื่อโมดูล/ไดเร็กทอรี หรือชื่อแทนที่สร้างขึ้นโดยใช้ไฟล์การจัดการ CVSROOT/modules หรือ CVSROOT/modules2
  48. ^ CVSNT รองรับฟังก์ชันนี้ได้ก็ต่อเมื่อเครื่องมือ make/build ที่ใช้รองรับฟังก์ชันนี้ด้วย
  49. ^ Darcs สามารถทำการตรวจสอบแบบกระจัดกระจาย (sparse checkout) จากจุดตรวจสอบ (checkpoint) ที่ระบุไว้อย่างชัดเจนใน repository darcs-1 ได้ แต่ไม่สามารถทำจาก repository darcs-2 ได้
  50. ^ Darcs สามารถตรวจจับสคริปต์ #! โดยอัตโนมัติและทำให้สคริปต์เหล่านั้นสามารถเรียกใช้งานได้เมื่อทำการชำระเงิน
  51. ^การใช้ฟังก์ชันโครงการย่อย (เอกสารประกอบ | คู่มือผู้ใช้ | การเชื่อมโยงโครงการหรือสตรีมกับวัตถุอื่นๆ )
  52. ^สามารถซ้อนการชำระเงินได้โดยใช้คำสั่ง "fossil open –nested"
  53. ^คำถามที่พบบ่อยของ Gitระบุว่าการขยายคีย์เวิร์ดไม่ใช่สิ่งที่ดี
  54. ^เพิ่ม -iและเพิ่ม -pดูหน้าคู่มือ git-add(1)
  55. ^คำถามที่พบบ่อยของ Gitอธิบายว่าเหตุใดการเก็บรักษาเวลาการแก้ไขจึงถือว่าเป็นอันตราย
  56. ^สามารถกำหนดค่าได้บนเซิร์ฟเวอร์ในรูปแบบตัวเลือกโครงการ และบนไคลเอนต์ในรูปแบบตัวเลือกผู้ใช้
  57. ^โดยใช้เครื่องมือของบุคคลที่สาม เช่น Tortoise SVN
  58. ^ SVN ไม่สามารถรักษาเวลาการแก้ไขไฟล์ได้ ตามคำขอของไคลเอ็นต์ ระบบสามารถกู้คืนเวลาเช็คอินเป็นเวลาแก้ไขล่าสุดได้ โดยค่าเริ่มต้นจะปิดใช้งานอยู่
  59. ^ประเภท MIME ของไฟล์จะต้องถูกตรวจจับว่าเป็นประเภท MIME ที่ "มนุษย์อ่านได้" แม้ว่าเครื่องมือผสานจะสามารถทำงานกับไฟล์ที่ไม่สามารถอ่านได้โดยมนุษย์ก็ตาม
  60. ^ สาขาแบบแยกเดี่ยวเก็บถาวรจากต้นฉบับเมื่อ 2016-03-04 เรียกดูเมื่อ 2014-11-06
  61. ^ คลังข้อมูลที่ใช้ร่วมกันเก็บถาวรจากต้นฉบับเมื่อ 2016-03-04 เรียกดูเมื่อ 2014-11-06
  62. ^ สาขาแบบแยกเดี่ยวเก็บถาวรจากต้นฉบับเมื่อ 2016-03-04 เรียกดูเมื่อ 2014-11-06
  63. ^ Heavyweight Checkout และ Lightweight Checkout , เก็บถาวรจากต้นฉบับเมื่อ 2016-06-30 , เรียกดูเมื่อ 2014-11-06
  64. ^ปลั๊กอิน rebase
  65. ^ darcs ไม่มีสาขาที่มีชื่อ ไม่ว่าจะเป็นสาขาในเครื่องหรือสาขาอื่น การสร้างสาขาจะจัดการผ่านการโคลนที่เก็บข้อมูลเท่านั้น
  66. ^ darcs sendจะเตรียมชุดแพทช์ โดยค่าเริ่มต้นจะส่งทางอีเมล แต่สามารถส่งเป็นไฟล์แทนได้
  67. ^การคัดลอกจะถูกตรวจพบหลังจากนั้น เช่นเดียวกับการเปลี่ยนชื่อ
  68. ^บุ๊กมาร์กของ Mercurialคล้ายกับสาขาในเครื่อง
  69. ^ SCCS มีการล็อกโดยปริยาย ซึ่งจะถูกนำมาใช้เมื่อทำการเช็คเอาท์ผ่านทางeditและจะถูกลบออกเมื่อสร้างเดลต้า
  70. ^นำไฟล์ (ที่จะกลายเป็นไฟล์ถาวร) ไปวางไว้ในไดเร็กทอรีที่ไม่สามารถเปลี่ยนแปลงได้โดยใช้วิธีการใดๆ ก็ได้ ก่อนที่จะทำการ vcheckin
  71. ^ mv(1) หรือ link(2) ไฟล์ที่เปลี่ยนแปลงไม่ได้จากไดเร็กทอรีที่เปลี่ยนแปลงไม่ได้ต้นทางไปยังไดเร็กทอรีที่เปลี่ยนแปลงไม่ได้ปลายทางก่อน vcheckin
  72. ^ใช้วิธีใดวิธีหนึ่งในการคัดลอกไฟล์ที่ไม่สามารถเปลี่ยนแปลงได้จากไดเร็กทอรีต้นทางไปยังไดเร็กทอรีปลายทางก่อนที่จะทำการ vcheckin
  73. ^นอกจากนี้ ยังสามารถเปิดใช้งานการตั้งค่าส่วนกลางนี้ได้ในแผงควบคุมเซิร์ฟเวอร์ที่เก็บข้อมูลหรือในไฟล์การกำหนดค่า
  74. ^ต้องใช้สิทธิ์ผู้ดูแลระบบ คุณสามารถ 'ย้อนกลับ' การเปลี่ยนแปลงได้โดยใช้ 'cvs update -e -j @commitid -j "@<commitid"' แต่หลักฐานการเปลี่ยนแปลงและการย้อนกลับจะยังคงอยู่ในประวัติ
  75. ใช่แล้ว - ใช้ TortoiseCVS หรือ WinCVS เพื่อบันทึกการเปลี่ยนแปลงไปยังปลายทาง และเลือกไฟล์เฉพาะที่ต้องการเก็บไว้
  76. ^คำสั่ง bisect ก็มีให้ใช้งานสำหรับ cvs เช่นกัน ซึ่งน่าจะใช้งานได้กับ CVSNT
  77. ^ darcs ทำงานกับแพตช์ ไม่ใช่เวอร์ชัน การเลือกแพตช์ (cherrypicking) คือการดึงแพตช์ที่กำหนดจากที่เก็บหนึ่งไปยังอีกที่เก็บหนึ่ง ตราบใดที่ตรงตามข้อกำหนดของ dependency
  78. ^ Fossil Stash รองรับชั้นวางหลายชั้นพร้อมช่องแสดงความคิดเห็น
  79. ^ git stash เป็นชั้นวางแบบหลายระดับ สามารถจัดเก็บกลุ่มการเปลี่ยนแปลงหลายกลุ่มพร้อมกันได้
  80. ^ใช้ได้เฉพาะกับที่เก็บข้อมูลในเครื่องและเฉพาะกับการแก้ไขที่ไม่มีการแก้ไขย่อยเท่านั้น คำสั่ง disapprove อาจเป็นอีกทางเลือกหนึ่ง
  81. ^ทดลองใช้ใน SVN 1.10 (บันทึกการเผยแพร่ )
  82. ^เครื่องมือ SVN Bisect svn-bisect
  83. ^คำสั่ง `svn status` แสดงความแตกต่างระหว่างสำเนาที่ใช้งานอยู่และที่เก็บข้อมูล ไม่ใช่ความแตกต่างระหว่างที่เก็บข้อมูลสองแห่ง
  84. ^ใช้ hgweb สำหรับการเข้าถึงคลังข้อมูลเดียว และ hgwebdir สำหรับการเข้าถึงคลังข้อมูลหลายแห่งจากที่อยู่ HTTP เดียว
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Comparison_of_version-control_software&oldid=1360129983 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเปรียบเทียบซอฟต์แวร์ควบคุมเวอร์ชัน

ตารางต่อไปนี้อธิบายคุณลักษณะของระบบควบคุมเวอร์ชันและระบบจัดการการกำหนดค่าซอฟต์แวร์ (SCM) ที่สำคัญซึ่งสามารถใช้เปรียบเทียบและหาความแตกต่างระหว่างระบบต่างๆ ได้

ข้อมูลทั่วไป

ตารางต่อไปนี้แสดงคุณลักษณะทั่วไปของระบบซอฟต์แวร์ควบคุมเวอร์ชัน ซึ่งรวมถึง:

ข้อมูลทางเทคนิค

ตารางต่อไปนี้แสดงรายละเอียดทางเทคนิคของซอฟต์แวร์ควบคุมเวอร์ชันที่เป็นที่รู้จักกันดีบางส่วน โดยแบ่งประเภทตามหัวข้อดังต่อไปนี้:

คุณสมบัติ

ตารางต่อไปนี้จัดประเภทซอฟต์แวร์ที่มีชื่อเสียงบางส่วนตามคุณสมบัติและความสามารถ: