2012-04-02 8 views
11

न्यूबी से जीवाश्म (या कोई अन्य संस्करण नियंत्रण प्रणाली) के बीच हेज़िटेटिंग। पहले मालिकाना प्रयुक्त होता था, लेकिन कभी खुद को एक सेट नहीं करता था।गिट और जीवाश्म

वर्तमान में, मैं एक सेट अप करना चाहता हूं ताकि मेरे मित्र और मैं इसे एक परियोजना के लिए उपयोग कर सकूं।

मैंने मुख्य रूप से जीवाश्म चुना क्योंकि वितरित जाने का तरीका प्रतीत होता है, ऐसा हल्का लगता है और इसमें एक बगट्रैक भी शामिल है। लेकिन गिट बहुत से लोगों के लिए पसंदीदा एससीएम प्रतीत होता है। क्या जीवाश्म पर गिट + कुछबगट्रैकर का पक्ष लेने के लिए अतिरिक्त जटिलता के लायक है? क्या कोई बेहतर विकल्प हैं? मुझे 0 से शुरू करना होगा।

उत्तर

14

बस कुछ विचार, व्यवस्थित नहीं हैं।

यदि आपके मित्र पहले से ही गिटिंग के लिए उपयोग किए जाते हैं, तो गिट एक अच्छी और मजबूत वितरित एससीएम है, जिसमें बड़ी होस्टिंग सेवाएं उपलब्ध हैं, जैसे कि गितब या गिटोरियस।

हालांकि, गिट अवधारणाओं को समझना आसान नहीं है। जीवाश्म की समान अवधारणाएं हैं, लेकिन संभवतया शुरू करना आसान नहीं है (कोई स्टेजिंग क्षेत्र नहीं, सूचकांक की कोई अवधारणा नहीं है, revertreset या checkout, आदि के साथ अंतिम प्रतिबद्धता के बाद परिवर्तनों को वापस कर रहा है)। विकल्पों की plethoras के साथ subcommands की एक बड़ी संख्या नहीं है, मदद संक्षिप्त और स्पष्ट है। यदि आप डरते हैं कि आप खो गए हैं जीवाश्म का चयन करें। बेशक, इसका यह भी अर्थ है कि जीवाश्म के साथ आप गिट के साथ कई चीजें नहीं कर सकते हैं (उदाहरण के लिए कोई रिबाज नहीं, कम से कम इस पल के लिए नहीं)।

जीवाश्म के लिए, few hosting online services available हैं। यह गिट के साथ जीवाश्म चलाने के लिए एक सर्वर स्थापित करने के लिए आसान है।

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

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

चेतावनी, जीवाश्म बग ट्रैकर (शब्दकोष में टिकट प्रणाली) और विकी काफी प्राथमिक हैं (हालांकि, वे अच्छी तरह से काम करते हैं)।

+5

उसी विभाजन पर गिट क्लोन डिफ़ॉल्ट रूप से हार्डलिंक बनाते हैं। तो आपको केवल एक ही स्थान पर काम करने वाले पेड़ के लिए – knittl

+1

@ बेनोइट के लिए है, ध्यान दें कि 'rsync'-ing जीवाश्म repos कुछ हद तक बेवकूफ दृष्टिकोण है क्योंकि इसे बैक अप लेने के समय उस डेटाबेस फ़ाइल पर कोई लेखन गतिविधि नहीं की आवश्यकता है। "ऑनलाइन" बैकअप करने का एकमात्र मजबूत दृष्टिकोण 'sqlite3 डंप ...' का उपयोग कर रहा है और बाद में डंप फ़ाइलों का बैक अप ले रहा है। और गिट वास्तव में बैक अप लेने के लिए कठिन नहीं है: आपको बस इस कार्य को करने के लिए गिट का उपयोग करना होगा। इसके अलावा, अगर किसी को उच्च प्रोफ़ाइल समाधान की आवश्यकता होती है तो gitolite v3 पुश पर मास्टर/गुलाम प्रतिकृति लागू करता है। – kostix

+0

@ कोस्टिक्स: कई कारणों से लोग बिटवाई बैकअप करना पसंद करते हैं। हालांकि मुझे जीवाश्म भंडार बैकवाइज बैकअप के लिए कोई वैध कारण नहीं दिख रहा है और एक स्क्लाइट 3 डंप नहीं करता है, कुछ लोग इसके लिए अनिच्छुक होंगे। इसके अलावा, जीवाश्म प्रतिकृति है, लेकिन कुछ डेटा दोहराना नहीं होगा (आम तौर पर वह डेटा जो 'जीवाश्म स्क्रब' हटा देगा)। यदि उस डेटा का बैक अप लेने की आवश्यकता नहीं है तो प्रतिकृति का लाभ लेना बैकअप के लिए पर्याप्त होना चाहिए। – Benoit

संबंधित मुद्दे