2008-09-24 21 views
9

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

उत्तर

2

फ़ाइलों को करने से पहले, उन्हें गिट स्टेजिंग क्षेत्र — प्रत्येक समय में जोड़ा जाना होगा। इसे आसान बनाने के लिए, git commit -a में सभी ट्रैक की गई फ़ाइलों को जोड़ने के लिए -a विकल्प है।

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

+0

... जब तक आप "git diff foo/bar.file" आदेश नहीं देते –

3

tutorial

तो यह के साथ चारों ओर खेलने करो। अपने मुख्य कोडबेस के साथ काम करना शुरू करने से पहले इसके लिए एक महसूस करने के लिए एक छोटी खिलौना परियोजना करें।

मैं पैच की समीक्षा करने के लिए बहुत कुछ गिटक का उपयोग करता हूं और ट्रैक करता हूं कि कोड प्रतिबद्धता से कैसे बदलता है।

-1

मैंने अपनी कंपनी में गिट की कोशिश की। हमने सीवीएस का उपयोग किया और एक बेहतर वीसी उपकरण में जाना चाहता था। हमने गिट को फाइल वर्जनिंग (जीआईटी पर लिनस) के लिए सबसे अच्छा टूल चुना है। इसका प्रदर्शन केवल सर्वोत्तम है और यह डेवलपर के लिए वास्तव में एक बहुत अच्छा टूल है जो संस्करण नियंत्रण में गहराई से समझता है लेकिन यह नियमित डेवलपर्स के लिए एक दुःस्वप्न है जो पृष्ठभूमि में संस्करण नियंत्रण का उपयोग करता है और नहीं सीखना चाहता कि अधिक उपयोग कैसे करें कुछ घंटों की तुलना में (और उन्हें बहुत कुछ सीखने की आवश्यकता है)

इसके अलावा मौजूदा आईडीई के साथ यह एकीकरण पूर्ण होने के लिए बहुत दूर है। पूरी उपयोगिता नियमित डेवलपर के लिए बहुत बड़ी समस्या है।

4 डेवलपर्स के साथ एक पायलट के बाद हमने सबवर्सन को सबसे सरल के रूप में स्विच किया, हालांकि इतना बेहतर उपकरण नहीं था।

वहाँ भी सबवर्सन एकाधिक के लिए वाणिज्यिक समाधान (जो हम अभी तक की कोशिश नहीं की थी लेकिन जल्द ही कोशिश करेंगे) है - WANDisco

6

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

सीवीसी को अनदेखा करने का प्रयास करें, और डीवीसी मानसिकता में आएं। यदि आप एक डीवीसी उपकरण में सीवीसी कर रहे हैं, तो आप केवल सभी अतिरिक्त जटिलताओं से निराश होंगे और आपको यह नहीं पता होगा कि लचीलापन के मामले में वह अतिरिक्त जटिलता आपको क्या खरीद रही है।

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

गिट का एक बहुत ही महत्वपूर्ण पहलू: अन्य सभी उपकरणों में कम या ज्यादा परिभाषित वर्कफ़्लो है। गिट नहीं करता है। गिट एक डीवीसीएस वर्कफ़्लो निर्माण किट है। इससे कभी-कभी यह जानना मुश्किल हो जाता है कि क्या करना है: आपको अपने स्वयं के वर्कफ़्लो को डिज़ाइन और कार्यान्वित करना है (संकेत: बहुत सारे शैल स्क्रिप्ट का उपयोग करें)। मैं अब एक साल से अधिक समय के लिए गिट का उपयोग करता हूं, और मैंने अभी तक पूरी तरह से अपना वर्कफ़्लो नहीं निकाला है।

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

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