ฉันพัฒนาโครงการส่วนบุคคลบนเครื่องสองเครื่องโดยไม่ใช้เซิร์ฟเวอร์ที่ใช้ร่วมกันหรือการเชื่อมต่อเครือข่ายระหว่างสองเครื่อง
ระบบควบคุมเวอร์ชันทั่วไปใด ๆ รองรับการใช้ที่เก็บข้อมูลแบบพกพา (เช่นอุปกรณ์แฟลช USB) อย่างเชื่อถือได้หรือไม่?
ฉันพัฒนาโครงการส่วนบุคคลบนเครื่องสองเครื่องโดยไม่ใช้เซิร์ฟเวอร์ที่ใช้ร่วมกันหรือการเชื่อมต่อเครือข่ายระหว่างสองเครื่อง
ระบบควบคุมเวอร์ชันทั่วไปใด ๆ รองรับการใช้ที่เก็บข้อมูลแบบพกพา (เช่นอุปกรณ์แฟลช USB) อย่างเชื่อถือได้หรือไม่?
คำตอบ:
ระบบควบคุมเวอร์ชันที่แจกจ่ายไม่มีเซิร์ฟเวอร์ส่วนกลางที่ใช้ร่วมกัน
ด้วย DVCS สำเนาของที่เก็บจะเก็บประวัติที่สมบูรณ์ - ทุกอย่าง ซึ่งหมายความว่าเมื่อใช้กับคีย์ USB การเปลี่ยนแปลงใด ๆ ที่คุณทำจะถูกทำกับที่เก็บบนคีย์ USB และเมื่อย้ายระหว่างคอมพิวเตอร์จะเก็บประวัตินี้
นอกเหนือจาก GIT, Mercurial และอื่น ๆ ที่แนะนำข้างต้นแล้วยังได้ดู Fossil - มันมีข้อดีที่ไบนารีเวลาทำงานมีขนาดเล็ก (1Meg หรือดังนั้นสำหรับ Windows และ Linux) จำเป็นต้องติดตั้งแบบพกพาและไม่ต้องมีศูนย์ ดังนั้นแตกต่างจากคนอื่น ๆ (เท่าที่ฉันทราบ) มันสามารถใส่ลงในอุปกรณ์จัดเก็บข้อมูลและเรียกใช้บนเครื่องใด ๆ ที่จัดเก็บถูกเสียบเข้ากับโดยไม่ต้องติดตั้งแอปบนเครื่องก่อน มันมีวิกิพีเดียและระบบการติดตามการเปลี่ยนแปลงข้อบกพร่องกับ repo นอกจากนี้ยังมีกุยในตัว
ฉันไม่ได้ใช้มันอย่างจริงจัง (ส่วนใหญ่ฉันใช้ GIT) แต่รู้สึกประทับใจกับวิธีการที่มีน้ำหนักเบาและการรวมตัวติดตาม Wiki และข้อบกพร่องทำให้เหมาะสำหรับโครงการขนาดเล็ก ข้อกังวลเดียวของฉันคือคุณสมบัติบางอย่างที่มีประสิทธิภาพยิ่งขึ้นของ GIT อาจเป็นไปไม่ได้ซึ่งแตกต่างจาก GIT ซึ่งเป็นชุมชนผู้ใช้ที่มีขนาดไม่ใหญ่จนหาคำตอบของคำถามได้ง่าย
การใช้ DCVS อาจเป็นความคิดที่ดี แต่ไม่ใช่ตัวเลือกเดียว
ฉันมีที่เก็บ CVS ขนาดเล็กบนธัมบ์ไดรฟ์ USB เมื่อฉันต้องการที่จะเข้าถึงมันฉันเพียงแค่ต้องใช้cvs -d <path>
หรือตั้งค่า$CVSROOT
เส้นทางของรากของพื้นที่เก็บข้อมูล (ซึ่งแน่นอนว่าต้องใช้ไดรฟ์หัวแม่มือที่จะติดตั้งบนระบบ)
หากคุณคุ้นเคยกับการใช้ CVS อยู่แล้วควรจะสามารถใช้การได้ เช่นเดียวกันกับ SVN หมายความว่าที่เก็บส่วนกลางของคุณอยู่ใน thumb drive และไม่สามารถมองเห็นได้ตลอดเวลา
มีข้อโต้แย้งสำหรับการใช้ DCVS มากกว่า CVS โดยทั่วไป ฉันไม่คิดว่าข้อโต้แย้งเหล่านั้นจะได้รับผลกระทบโดยเฉพาะอย่างยิ่งว่าที่เก็บส่วนกลางอยู่ในไดรฟ์หัวแม่มือหรือที่อื่น ตัวอย่างเช่นคุณสามารถสร้างที่เก็บ git บน thumb drive ได้อย่างง่ายดาย
นอกเหนือจากคำตอบอื่น ๆ :
ในขณะที่ DVCS เหมาะกับปัญหานี้เป็นอย่างดีคุณสามารถใช้เทคนิคการโค่นล้มได้หากคุณรู้สึกสะดวกสบายกับมันมากขึ้น การโค่นล้มสามารถใช้โลคัลไดเร็กทอรีแทนเซิร์ฟเวอร์กลาง คุณสามารถใส่มันลงในไดรฟ์หัวแม่มือและใช้งานได้
ข้อเสียเมื่อเทียบกับ DVCS อาจเป็นได้ว่าคุณสามารถทำงานกับ Subversion เท่านั้น (เช่นคอมมิชชัน, ดูบันทึก ฯลฯ ) ในขณะที่เสียบปลั๊กไดรฟ์หัวแม่มือนอกจากนี้จะต้องเป็นไดรฟ์หัวแม่มือเดียวกันเสมอ - to - date คัดลอก) เนื่องจากมีการโค่นล้มคุณไม่ควรใช้มากกว่าหนึ่งที่เก็บ (นั่นคือส่วนที่ไม่กระจาย) ดังนั้นหากคุณลืมไดรฟ์หัวแม่มือคุณจะไม่สามารถใช้งานได้เหมือน Git หรือ Mercurial
บันทึก:
ตามที่อธิบายไว้ข้างต้นและในความคิดเห็น DVCS นั้นเหมาะสมกับปัญหาของคุณมากขึ้น ฉันพูดถึงการโค่นล้มเพื่อความสมบูรณ์เท่านั้นและในกรณีที่คุณมีเหตุผลพิเศษที่จะใช้การโค่นล้ม
svn
(หรือ Cvs จริง ๆ ) สามารถชั่งน้ำหนักในความโปรดปรานของการใช้โซลูชันนั้น แต่เพื่อประโยชน์ในการเปิดเผยอย่างเต็มที่ข้อเสียของวิธีการนั้นก็ควรได้รับการกล่าวถึงเช่นกัน รู้สึกอิสระที่จะแก้ไขคะแนนจากความคิดเห็นของฉันเป็นคำตอบของคุณ ถ้าคุณทำฉันยินดีที่จะทำความสะอาด (ลบ) ความคิดเห็นของฉัน * 8 ')