तोड़फोड़ बनाम तोड़फोड़ - पेशेवरों और विपक्ष [बंद]


11

मैं कई वर्षों से एसवीएन का उपयोगकर्ता रहा हूं और मैं यह नहीं कह सकता कि मैं इसके बारे में पूरी तरह से खुश हूं। कुछ दिनों पहले मेरे साथी ने मुझे यह कहते हुए एक नज़र डालने के लिए कहा कि "इसमें बेहतर प्रदर्शन, आसान मर्जिंग और ब्रांचिंग है।"

मैं कुछ git बनाम SVN तुलना लेखों को पढ़ रहा हूं और मुझे खुशी होगी अगर लोग दोनों संस्करण नियंत्रण प्रणाली का उपयोग करके पेशेवरों और विपक्षों को योग कर सकें।

अब मैं ऐसे लोगों की तलाश कर रहा हूं, जो एक सिस्टम से दूसरे सिस्टम में जा चुके हैं और व्यक्तिपरक राय सुन रहे हैं।

मैं अपने लिए जानता हूं कि मुझे वास्तव में एसवीएन के काम करने का तरीका पसंद है, जिसमें एक केंद्रीय भंडार है जहां से लोग चेकआउट कर सकते हैं, यह जानकर कि मैं इसे एक लाइव डेवलेपमेंट कॉपी और एक लाइव प्रोडक्शन कॉपी के साथ तैनात कर सकता हूं, लेकिन कभी-कभी हमारे पास सिरदर्द हैं जो संघर्षों या अन्य त्रुटियों को छांटते हैं और हर बार जब हमें किसी फ़ाइल के इतिहास को बदलने या देखने की आवश्यकता होती है, तो हमारे पास निपटने के लिए नेटवर्क विलंबता होती है।

दूसरी ओर, वितरित प्लेटफ़ॉर्म होने से सिरदर्द जैसा महसूस होता है, आप एक्सेस को कैसे नियंत्रित कर सकते हैं? क्या आपके पास एक केंद्रीय भंडार है जहां से आप धक्का देते हैं और अपडेट करते हैं?

इस मुद्दे पर कुछ और प्रकाश डालने के लिए धन्यवाद।

जवाबों:


15

क्या आप सिस्टम व्यवस्थापक की अवधारणात्मक या प्रोग्रामर के रूप में दो टूल की तुलना करने की कोशिश कर रहे हैं? यदि आप इसे प्रोग्रामर के नजरिए से देख रहे हैं तो शायद आपको स्टैकओवरफ्लो पर यह पूछना चाहिए। या इससे भी बेहतर, शायद आपको यह देखना चाहिए कि " git svn " के बारे में पहले से क्या पूछा गया है ।

Git और svn के बारे में बात यह है कि यह या तो / या प्रस्ताव नहीं है। आप एक SVN रिपॉजिटरी चला सकते हैं, और आपके डेवलपर्स git-svn का उपयोग इसके साथ बातचीत करने के लिए कर सकते हैं यदि उन्हें लगता है कि git किसी विशेष मामले में एक बेहतर उपकरण है।


2

वहाँ वास्तव में गिट पर तोड़फोड़ करने के लिए वास्तव में कोई पेशेवरों नहीं हैं। जबकि गिट वितरित किया जाता है, हर कोई दूरस्थ ट्रैकिंग शाखाओं का उपयोग करके एक केंद्रीय भंडार से काम कर सकता है। git वास्तव में अधिक तेज़, अधिक लचीला और विलय योग्य है। इसके अलावा, आप वास्तविक रूप से ऑफ़लाइन काम कर सकते हैं, जबकि तोड़फोड़ के साथ, आप बदलाव नहीं कर सकते हैं यदि आपके पास नहीं है तो आप व्यक्तिगत रूप से हिट में व्यक्तिगत रूप से काम कर सकते हैं बनाम एक एकल आईडी होने से svn में रिपॉजिटरी की स्थिति का प्रतिनिधित्व करते हैं।

एक्सेस या तो git सर्वर पर उपयोगकर्ता / समूह खातों द्वारा नियंत्रित किया जाता है (आपको उचित रूप से सेट की जाने वाली अनुमतियों के लिए या ssh कुंजियों का उपयोग करके मूल रिपॉजिटरी को 'git init --bare --sared' के साथ आरंभ करना होगा) या ssh कुंजियों का उपयोग करके। Be गिटोसिस ’का उपयोग करके बहुत ही दानेदार अभिगम नियंत्रण स्थापित किया जा सकता है जो कि एक तृतीय पक्ष है।

यह थोड़ा समय लगता है जब आप svn (हम सिर्फ मेरे कार्यालय में इस माध्यम से चले गए) का उपयोग करने के लिए उपयोग किया जाता है, लेकिन गिट अधिक शक्तिशाली है।

यदि आपको एक बढ़िया वॉकथ्रू चाहिए, तो http://progit.org देखें - यह एक ओपन सोर्स बुक की पूरी ऑनलाइन कॉपी है।


svn git से बड़ी फ़ाइलों को संभाल सकता है
जोशुआ

मैं इस बात से अनजान था कि git की अधिकतम फ़ाइल आकार है - सीमा क्या है?
एरॉन ब्राउन

2
यह ज्यादातर ऐसा है कि चूंकि Git इतिहास को हर काम की नकल के साथ ले जाता है, एक बड़ी, भारी संपादित फ़ाइल बहुत अधिक जगह ले जाएगी। यदि बड़ी फ़ाइल अनिवार्य रूप से अपरिवर्तनीय है, तो यह ठीक है
फिल मिलर

मैं कहूंगा कि यहोशू की टिप्पणी भ्रामक है। फ़ाइलें जो एक चेक आउट की गई हैं, वे SVN और git दोनों के लिए समान आकार की हैं। क्या होगा क्योंकि जीआईटी स्थानीय रूप से रेपो जानकारी की एक प्रति रखता है, सभी फ़ाइलों के लिए आवश्यक डिस्क स्थान और साथ ही रेपो इतिहास बढ़ेगा जैसे ही आप फ़ाइलों को संपादित करते हैं, लेकिन एसवीएन के लिए यह स्थान तय हो जाता है (क्योंकि रेपो इतिहास नहीं है स्थानीय रूप से संग्रहीत)।
वाल्टर

1

मेरी टीम में हम svn से git तक अपने नियंत्रण संस्करण सिस्टम को बदलने के बीच में हैं। Git में थोड़ा कठिन सीखने की अवस्था है, इसलिए मैंने इससे परिचित होना शुरू किया और फिर डेवलपर्स को इसका उपयोग करने का तरीका सिखाया। उन्हें वितरित नियंत्रण संस्करण सिस्टम से सभी फायदे जानने की जरूरत है: कई शाखाएं, कोई केंद्रीय भंडार, गति, आदि।

आपकी तरह, हमारे पास हमारी साइटों को तैनात करने के लिए एक प्रणाली थी, इसलिए हम एक git केंद्रीय सर्वर की तरह कुछ रखते हैं जहां परिवर्तन खींचे जाते हैं और डेवलपर्स की मशीनों से धकेल दिए जाते हैं। हमारी साइटें इस "केंद्रीय सर्वर" से परिवर्तन खींचती हैं, और तैनाती की बाकी प्रक्रिया उसी तरह है जैसे कि svn का उपयोग करके।

हमने svn और git रिपॉजिटरी को मिक्स करने की कोशिश नहीं की, हमारी छोटी साइटों को माइग्रेट करना शुरू कर दिया और मुख्य साइटों के लिए नए git रिपॉजिटरी बनाने के लिए जैसे वे एक नया संस्करण थे। प्रवेश ssh कुंजी के साथ प्रबंधित किया जाता है। वेब इंटरफेस के रूप में भी हम gitweb का उपयोग करते हैं (हमारा svn सिस्टम http आधारित है)

यह काम कर रहा है, यह एक दिन से दूसरे दिन में बदलाव नहीं है और हम कोशिश कर रहे हैं कि डेवलपर्स इस बदलाव को एक झुंझलाहट के रूप में न लें, लेकिन एक उपकरण सीखने के लिए एक नया कौशल है जो अंत में हमारे स्वयं के सिस्टम में सुधार करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.