git vs การโค่นล้ม - ข้อดีและข้อเสีย [ปิด]


11

ฉันเป็นผู้ใช้งาน SVN มาหลายปีแล้วและฉันไม่สามารถพูดได้เลยว่าฉันมีความสุขอย่างสมบูรณ์ ไม่กี่วันที่ผ่านมาเพื่อนของฉันขอให้ฉันดูคอมไพล์โดยบอกว่า "มันมีประสิทธิภาพที่ดีขึ้นรวมได้ง่ายขึ้นและแยกย่อยได้"

ฉันได้อ่านบทความเปรียบเทียบ Git vs. SVN แล้วและฉันยินดีถ้าผู้คนสามารถสรุปข้อดีและข้อเสียโดยใช้ทั้งระบบควบคุมเวอร์ชัน

ตอนนี้ฉันกำลังมองหาคนที่เปลี่ยนจากระบบหนึ่งไปอีกระบบหนึ่งและรับฟังความคิดเห็นส่วนตัว

ฉันรู้ด้วยตัวเองว่าฉันชอบวิธีการทำงานของ SVN จริง ๆ มีที่เก็บส่วนกลางหนึ่งที่ซึ่งผู้คนสามารถเช็คเอาต์ได้โดยรู้ว่าฉันสามารถปรับใช้จากสำเนาการพัฒนาสดและสำเนาการผลิตจริง แต่บางครั้งเรามีอาการปวดหัว ทุกครั้งที่เราต้องแตกต่างหรือดูประวัติของไฟล์เรามีเวลาแฝงเครือข่ายที่จะจัดการกับ

ในอีกทางหนึ่งการมีแพลตฟอร์มแบบกระจายดูเหมือนปวดหัวเช่นกันคุณจะควบคุมการเข้าถึงได้อย่างไร คุณมีที่เก็บส่วนกลางหนึ่งที่คุณผลักดันและอัปเดตหรือไม่

ขอบคุณสำหรับการส่องสว่างเพิ่มเติมเกี่ยวกับปัญหา

คำตอบ:


15

คุณกำลังพยายามเปรียบเทียบเครื่องมือทั้งสองจากการรับรู้ของผู้ดูแลระบบหรือเป็นโปรแกรมเมอร์หรือไม่? หากคุณกำลังดูสิ่งนี้จากมุมมองของโปรแกรมเมอร์คุณควรถามเรื่องนี้กับ stackoverflow หรือดียิ่งขึ้นบางทีคุณควรดูสิ่งที่ถูกถามเกี่ยวกับ " git svn " แล้ว

สิ่งที่เกี่ยวกับ git และ svn คือมันไม่ใช่ / หรือข้อเสนอ คุณสามารถเรียกใช้พื้นที่เก็บข้อมูล SVN และนักพัฒนาของคุณสามารถใช้git-svnเพื่อโต้ตอบกับมันหากพวกเขาคิดว่า git เป็นเครื่องมือที่ดีกว่าในบางกรณี


2

ไม่มีผู้เชี่ยวชาญใดที่จะโค่นล้ม git ได้จริงๆ ในขณะที่กระจาย git ทุกคนสามารถทำงานนอกพื้นที่เก็บข้อมูลส่วนกลางโดยใช้สาขาการติดตามระยะไกล คอมไพล์ได้เร็วขึ้นมีความยืดหยุ่นมากขึ้นและการรวมกันใช้งานได้จริง นอกจากนี้คุณสามารถทำงานแบบออฟไลน์ได้จริงในขณะที่มีการโค่นล้มคุณไม่สามารถทำการเปลี่ยนแปลงได้หากคุณไม่มีคุณสามารถทำงานได้ง่ายขึ้นกับคอมมิทแต่ละรายการในคอมไพล์เมื่อเทียบกับคอมมิท ID เดียวแสดงสถานะของที่เก็บใน svn

การเข้าถึงถูกควบคุมโดยบัญชีผู้ใช้ / กลุ่มบนเซิร์ฟเวอร์ git (คุณต้องเริ่มต้นพื้นที่เก็บข้อมูลเริ่มต้นด้วย 'git init --bare --shared' สำหรับการอนุญาตให้ตั้งค่าอย่างเหมาะสม) หรือโดยใช้คีย์ ssh การควบคุมการเข้าถึงที่ละเอียดมากสามารถตั้งค่าได้โดยใช้ 'gitosis' ซึ่งเป็นส่วนเสริมของบุคคลที่สาม

ใช้เวลาสักครู่เพื่อทำความคุ้นเคยกับการใช้งานคอมไพล์เมื่อคุณคุ้นเคยกับ svn (เราเพิ่งอ่านเรื่องนี้ที่สำนักงานของฉัน) แต่คอมไพล์นั้นมีประสิทธิภาพมากกว่า

หากคุณต้องการคำแนะนำที่ดีเยี่ยมชมhttp://progit.org - เป็นหนังสือออนไลน์แบบเต็มของหนังสือโอเพนซอร์ซ


SVN สามารถจัดการกับไฟล์ที่มีขนาดใหญ่กว่าคอมไพล์
โจชัว

ฉันไม่ทราบว่าคอมไพล์มีขนาดไฟล์สูงสุด - ขีด จำกัด คืออะไร
Aaron Brown

2
ส่วนใหญ่เป็นเพราะ Git มีประวัติโดยรอบกับสำเนาที่ใช้งานได้ทุกไฟล์ไฟล์ที่มีขนาดใหญ่และมีการแก้ไขอย่างมากจะใช้พื้นที่จำนวนมาก หากไฟล์ขนาดใหญ่ไม่มีการเปลี่ยนแปลงเป็นหลักก็คงเป็นเรื่องดีมาก
Phil Miller

ฉันจะบอกว่าความคิดเห็นของโจชัวทำให้เข้าใจผิด ไฟล์ที่เช็คเอาต์มีขนาดเท่ากันทั้ง SVN และ git สิ่งที่จะเกิดขึ้นคือเนื่องจาก git เก็บสำเนาของข้อมูล repo ไว้ในเครื่องพื้นที่ดิสก์ทั้งหมดที่จำเป็นสำหรับไฟล์ทั้งหมดรวมถึงประวัติ repo จะเพิ่มขึ้นเมื่อคุณแก้ไขไฟล์ แต่สำหรับ SVN พื้นที่นี้ได้รับการแก้ไข (เนื่องจากประวัติ repo ไม่ใช่ เก็บไว้ในเครื่อง)
วอลเตอร์

1

ในทีมของเราเรากำลังเปลี่ยนระบบควบคุมเวอร์ชันจาก svn เป็น git Git มีช่วงการเรียนรู้ที่ยากขึ้นเล็กน้อยดังนั้นฉันจึงเริ่มทำความคุ้นเคยกับมันแล้วสอนวิธีการใช้ให้กับผู้พัฒนา พวกเขาจำเป็นต้องรู้ถึงข้อดีทั้งหมดจากระบบควบคุมรุ่นที่กระจาย: หลาย ๆ สาขาไม่มีที่เก็บส่วนกลางความเร็ว ฯลฯ

เช่นเดียวกับคุณเรามีระบบในการปรับใช้เว็บไซต์ของเราดังนั้นเราจึงเก็บบางอย่างไว้เหมือนเซิร์ฟเวอร์กลาง git ที่มีการดึงและผลักดันการเปลี่ยนแปลงจากและไปยังเครื่องของนักพัฒนาซอฟต์แวร์ เว็บไซต์ของเราดึงการเปลี่ยนแปลงจาก "เซิร์ฟเวอร์กลาง" นี้และกระบวนการที่เหลือของการปรับใช้จะคล้ายกับการใช้ svn

เราพยายามที่จะไม่ผสมผสานที่เก็บข้อมูล svn และ git เริ่มโยกย้ายไซต์ย่อยของเราและสร้างที่เก็บ git ใหม่สำหรับเว็บไซต์หลักเหมือนเป็นรุ่นใหม่ จัดการการเข้าถึงด้วยคีย์ ssh นอกจากนี้เรายังใช้ gitweb เป็นเว็บอินเตอร์เฟส (ระบบ svn ของเราใช้ http เป็นพื้นฐาน)

มันใช้งานได้ไม่ใช่การเปลี่ยนแปลงจากวันหนึ่งไปอีกวันและเรากำลังพยายามพัฒนาไม่ให้เกิดการเปลี่ยนแปลง แต่ก็เป็นทักษะใหม่ในการเรียนรู้เครื่องมือที่ท้ายที่สุดจะปรับปรุงระบบของเราเอง

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