Git vs SVN: ประสิทธิภาพการจัดเก็บเว็บไซต์ [ปิด]


3

ฉันรู้ว่า SVN (การโค่นล้ม) จัดเก็บ delta ของไฟล์เพื่อเก็บข้อมูลได้อย่างมีประสิทธิภาพ อย่างไรก็ตาม Git นั้นซับซ้อนกว่าเล็กน้อย สิ่งที่ฉันสงสัยคือถ้าฉันต้องจัดเก็บไฟล์ HTML, รูปภาพและ js ธรรมดาและติดตามการเปลี่ยนแปลงของพวกเขากับสิ่งใดสิ่งหนึ่งสิ่งใดที่จะส่งผลให้เกิดประสิทธิภาพการจัดเก็บที่ดีขึ้น ฉันสนใจไฟล์ HTML เป็นพิเศษ ตอนแรกไม่ควรแตกต่างกันมาก อย่างไรก็ตามเมื่อมีการเปลี่ยนแปลงเว็บไซต์โดยเฉพาะโฮมเพจความแตกต่างควรชัดเจน

ฉันสามารถลองทั้งคู่และเปรียบเทียบพวกเขาได้ แต่ต้องใช้เวลานานกว่าจะได้เห็น จริง ผล. ดังนั้นฉันตัดสินใจที่จะดูว่าอันใดที่ควรจะมีประสิทธิภาพมากกว่าในทางทฤษฎี

คำตอบ:


8

git จะชนะแน่นอนลงมือ เป็นเรื่องปกติที่สำหรับที่เก็บคอมไพล์ด้วยไฟล์ข้อความ (เช่น HTML) ข้อมูลเมตาด้วย ประวัติศาสตร์ทั้งหมด ใน .git ไดเรกทอรีจะเล็กกว่าการชำระเงินของทรีทั้งหมด (คุณอาจต้องการเรียกใช้ git gc นาน ๆ ครั้ง, แต่ git จะเรียกใช้โดยอัตโนมัติหากพบว่าที่เก็บวัตถุนั้นไม่ได้รับการปรับให้เหมาะสมมาก)

สำหรับ SVN ในทางกลับกันการชำระเงินที่เรียบง่ายจะมีอย่างน้อย 2x - มันจะมีแผนผังทั้งหมดและสำรองข้อมูลทั้งหมดไว้ใน .svn ไดเรกทอรีและมันจะไม่รวมประวัติใด ๆ - และมันจะ ยังคงขึ้นอยู่กับ บนเซิร์ฟเวอร์ที่ใช้งานได้

ลองดูที่บทความ รูปแบบที่เก็บข้อมูล :

ที่เก็บ Mozilla CVS คือ 2.7GB นำเข้าสู่ Subversion ซึ่งขยายตัวเป็น 8.2GB ภายใต้ Git จะหดเป็น 450MB เนื่องจากการชำระเงินของ Mozilla มีขนาดประมาณ 350MB มันค่อนข้างดีที่จะมีประวัติโครงการทั้งหมด (จากปี 1998) ในพื้นที่เพิ่มขึ้นเพียงเล็กน้อยเท่านั้น

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

มีข้อดีอื่น ๆ อีกมากมายที่จะคอมไพล์ แต่ฉันไม่สามารถครอบคลุมพวกเขาทั้งหมดที่นี่ ฉันอยากจะแนะนำให้อ่านหนังสือที่ดีเกี่ยวกับเรื่องนี้เช่น ProGit .

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