git संस्करण नियंत्रण के साथ शुरू करना




svn version-control (30)

@ superjoe30

यदि आप एकमात्र प्रोग्रामर हैं, तो अपने कंप्यूटर पर स्रोत नियंत्रण का उपयोग करने के बारे में क्या? क्या यह अच्छा अभ्यास है? क्या संबंधित टिप्स या चाल हैं?

मुझे लगता है कि गिट वास्तव में इसके लिए आसान है क्योंकि आपको किसी सर्वर की आवश्यकता नहीं है या यूआरएल दर्ज करने की चिंता नहीं है। आपकी वर्जन-कंट्रोल स्टफ सिर्फ आपके प्रोजेक्ट के अंदर .git निर्देशिका में रहती है और आप बस आगे बढ़ें और इसका इस्तेमाल करें।

5 सेकंड परिचय (मान लीजिए कि आपने इसे इंस्टॉल किया है)

cd myproject
git init
git add * # add all the files
git commit

अगली बार जब आप कुछ बदलाव करेंगे

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

जब तक आप ऐसा कर रहे हैं, गिट में आपकी पीठ है। यदि आप गड़बड़ करते हैं, तो आपका कोड अच्छा गिट भंडार में सुरक्षित है। यह विस्मयकारी है

  • नोट: आप चीजों को प्राप्त करने से थोड़ा कठिन हो सकते हैं, लेकिन फाइलों की तुलना में उस समस्या को कहीं अधिक बेहतर है!

https://code.i-harness.com

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

स्थिति को देखते हुए, क्या मुझे पकड़ना चाहिए और देखें कि कौन सा शीर्ष पर आता है? उनके सापेक्ष फायदे क्या हैं?

गिट के साथ मैंने एक मुद्दा देखा है कि कई पूर्ण फीचर्ड जीयूआई नहीं हैं, जो मेरी टीम के कई उपयोगकर्ताओं के लिए महत्वपूर्ण है।

साथ ही, एक या दूसरे के साथ कैसे शुरुआत करें इस पर सुझाव नहीं दिखेगा। (ट्यूटोरियल, आदि)


superjoe30 लिखते हैं :

संबंधित प्रश्न (शायद इस प्रश्न का उत्तर देने के लिए उत्तर भी संपादित किए जा सकते हैं):

यदि आप एकमात्र प्रोग्रामर हैं, तो अपने कंप्यूटर पर स्रोत नियंत्रण का उपयोग करने के बारे में क्या? क्या >> यह अच्छा अभ्यास है? क्या संबंधित टिप्स या चाल हैं?

मैं अपनी सभी निजी परियोजनाओं के लिए एसवीएन का उपयोग करता हूं। मैंने अपनी होम मशीन पर एसवीएन चलाने के साथ शुरुआत की लेकिन अंततः ड्रीमहोस्ट में स्थानांतरित हो गया। उनके होस्टिंग पैकेज जिनमें सबवर्सन शामिल है, वे काफी उचित हैं।


@ superjoe30 हां, absoluteley। एक बार जब आप संस्करण नियंत्रण का उपयोग शुरू कर देते हैं तो आप कभी वापस नहीं जाते हैं। मैं इसे सब कुछ, यहां तक ​​कि मेरे "घर" फ़ोल्डर के लिए भी उपयोग करता हूं।

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


TortoiseSVN का उपयोग करें (मैक पर संस्करण.एप)। बस स्थापित करें और जाओ। यदि आपको अपने कोड को होस्ट करने के लिए किसी स्थान की आवश्यकता है http://beanstalkapp.com/



अपने वास्तविक काम के लिए एसवीएन का उपयोग शुरू करें, लेकिन गिट और / या मर्कुरियल के साथ घूमने के लिए समय निकालने का प्रयास करें। एसवीएन उत्पादन के लिए काफी स्थिर है, लेकिन आखिरकार आपको एक परिदृश्य का सामना करना पड़ेगा जहां आपको एक वितरित एससीएम की आवश्यकता होगी , जिसके द्वारा आप सही ढंग से सशस्त्र होंगे और नई प्रणाली पर्याप्त परिपक्व हो जाएगी।


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


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

ऐसा कहा जाता है, यह संभव है कि गिट के साथ एक खाली स्लेट से शुरू करना वास्तव में आसान हो सकता है - मेरा वीसीएस अनुभव केंद्रीयकृत संस्करण नियंत्रण (सीवीएस, एसवीएन, पर्सफोर्स ...) के साथ है और गिट के साथ मेरी (चल रही!) कठिनाई का हिस्सा रहा है वितरित मॉडल के प्रभाव को समझना। मैंने बाजार और मर्कुरियल जैसे अन्य डीवीसीएस पर संक्षेप में नज़र डाली और वे कुछ हद तक नौसिखिया-अनुकूल लग रहे थे।

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

ओह, और सीवीएस के साथ शुरू मत करो। यह अभी भी व्यावहारिक उपयोग में है, और इसके फायदे हैं, लेकिन आईएमएचओ में सीखने का एक अच्छा तरीका होने के लिए इसमें बहुत से ऐतिहासिक क्विर्क और कार्यान्वयन की समस्याएं हैं (गैर-परमाणु काम!)।


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


उपकरण सीखने के लिए सबवर्सन बुक आपकी सबसे अच्छी शर्त है। वहां अन्य त्वरित-प्रारंभिक ट्यूटोरियल हो सकते हैं, लेकिन पुस्तक आपको सबसे अच्छा एकल संदर्भ मिलेगा।

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


एक एसवीएन सर्वर के सेटअप को आसान बनाने के लिए अभी एक प्रमुख युक्ति वर्चुअल उपकरण का उपयोग करना है। यही वह वर्चुअल मशीन है जिसमें उप-स्थापित पूर्व-स्थापित है और (अधिकतर) इस पर पूर्व-कॉन्फ़िगर किया गया है - बहुत अधिक प्लग और प्ले चीज। आप here , here और here आज़मा सकते here , या बस "सबवर्सन आभासी उपकरण" पर Google को खोजने का प्रयास करें।


एसवीएन के लिए जाओ। यदि आपने पहले कभी स्रोत नियंत्रण का उपयोग नहीं किया है, तो इससे आपके लिए कोई फर्क नहीं पड़ता है।

साथ ही, स्रोत नियंत्रण प्रणाली का उपयोग करने में बड़ी मात्रा में सीखने में शामिल नहीं है। यदि आप एक सीखते हैं, तो आप बाद की तारीख में आसानी से दूसरे पर स्विच कर सकते हैं।

एसवीएन एक अच्छा उपकरण है, और इसे आपकी अधिकांश ज़रूरतों का ख्याल रखना चाहिए। और चूंकि यह आसपास रहा है, इसके पास जीयूआई टूल्स का एक उचित शेयरर है (उदाहरण के लिए टोर्टोइज एसवीएन)।

एसवीएन के लिए जाओ।


गिट विवर्तन से बेहतर है, लेकिन यह खून बहने वाले किनारे पर थोड़ा सा है।

मैं कहूंगा, अगर आप अभी शुरू कर रहे हैं, तो किनारे पर कूदें; एक मुफ्त खाता @ http://github.com सेटअप करें

उनके पास गिट की स्थापना और उपयोग करने के लिए साइट पर शैक्षणिक सामग्री है।


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

तो मैंने क्लाइंट के लिए एसवीएन सर्वर और कछुए एसवीएन को सरलता से स्थापित किया और गहराई में डाला और मैं इसे तरीके से उपयोग करने का तरीका नहीं सीखता।


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

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


बस TortoiseSVN का उपयोग करें, और आप असली सबवर्जन कमांड को जानने के बिना भी जी सकते हैं ... लेकिन यह बुरा है। सौभाग्य से उन्हें दिल से सीखने के लिए हमेशा "महान अवसर" होगा - जब आपका अमूल्य भंडार पहली बार दूषित हो जाता है।

हाँ, ऐसा होता है।


मेरा वोट सबवर्सन में जाता है। यह बहुत शक्तिशाली है, अभी तक उपयोग करने में आसान है, और इसमें कुछ बेहतरीन टूल हैं जैसे TortoiseSVN

लेकिन जैसा कि दूसरों ने मेरे सामने कहा है, बस इसे इस्तेमाल करना शुरू करें। स्रोत नियंत्रण सॉफ्टवेयर विकास प्रक्रिया का एक महत्वपूर्ण हिस्सा है। इसके बिना कोई "गंभीर" सॉफ्टवेयर प्रोजेक्ट होना चाहिए।


मेरे वर्तमान काम पर, मेरे पूर्ववर्ती ने किसी भी प्रकार के संस्करण नियंत्रण का उपयोग नहीं किया था। कम से कम 3 अलग-अलग स्थानों में फ़ोल्डर्स के पहाड़ हैं जहां उन्होंने अपनी सभी परियोजनाएं रखीं। किसी भी यादृच्छिक प्रोजेक्ट फ़ोल्डर से कम से कम एक फ़ोल्डर नाम "प्रोजेक्ट (ओल्ड)" और "प्रोजेक्ट" नामक एक को खोजने की उम्मीद की जा सकती है

संस्करण नियंत्रण के साथ, आपको कभी भी "सुरक्षित" बिल्डों की प्रतियां बनाना नहीं पड़ता है। आपको वास्तव में उस फ़ाइल को दूषित करने के बारे में चिंता करने की ज़रूरत नहीं है जिस पर आप काम कर रहे हैं (मैं आपको देख रहा हूं, रीयलबेसिक 5.5) क्योंकि हर दिन अपने काम को पढ़ना आसान है (पढ़ें: सहेजें)।

कहने की जरूरत नहीं है, मैंने यह पता लगाने के एक दिन बाद संस्करण नियंत्रण स्थापित किया था।

साथ ही, TortoiseSVN डेटाबेस को सही क्लिक करने के रूप में डेटाबेस को आसान बनाता है।


मैं निश्चित रूप से सीवीएस पर एसवीएन का चयन करता हूं, अगर केवल इसलिए कि सीवीएस का उपयोग कर स्रोत नियंत्रण सीखने वाले लोग " svn move " के बजाय " svn delete " का उपयोग करते हैं तो " svn add svn delete " का उपयोग करते हैं। जो किसी विशिष्ट फ़ाइल के पिछले सभी संशोधनों को ढूंढना कठिन बनाता है। और आप हमेशा गिट-एसवीएन का उपयोग करने के लिए अपग्रेड कर सकते हैं। मुझे व्यक्तिगत रूप से लगता है कि एचजी से सीखना आसान है, लेकिन वास्तव में एसवीएन का उपयोग करने का मुख्य कारण यह है कि यह ओपन सोर्स सॉफ्टवेयर की डी-फैक्टो संस्करण नियंत्रण प्रणाली बन गया है।

यदि आप कभी भी D सीखने / उपयोग करने की योजना बनाते हैं तो डीएसओआरएस जैसे तीसरे पक्ष के भंडारों तक पहुंचना लगभग अनिवार्य है।


मैंने आरसीएस, सीवीएस, एससीसीएस, सोर्ससेफ, वॉल्ट, पर्सफोर्स, सबवर्सन और गिट का इस्तेमाल किया है।

मैंने बिटकिपर, आयाम, आर्क, बाज़ार, एसवीके, क्लीयरकेस, पीवीसीएस, और सिनर्जी का मूल्यांकन किया है।

अगर मुझे आज एक नया भंडार शुरू करना पड़ा, तो मैं गिट चुनूंगा । हाथ नीचे।

यह स्वतंत्र, तेज़ और सक्रिय विकास के तहत है।

और आप इसे git-svn का उपयोग करके किसी भी उपवर्तन भंडार के क्लाइंट के रूप में उपयोग कर सकते हैं।

यह जबरदस्त है।


यदि आप उपversण के साथ जाना चुनते हैं और आप अपने स्वयं के svn सर्वर को होस्ट करना चाहते हैं, तो VisualSVN सर्वर नामक एक बहुत अच्छा और आसान विंडोज आधारित सर्वर है। यह एक अपाचे सर्वर स्थापित करने की जटिलता को छुपाता है, आप मूल रूप से अगले अगले ही अगले स्थान पर जाते हैं। कॉन्फ़िगरेशन के बजाय उपयोगकर्ता कॉन्फ़िगरेशन को वेबयूआई के साथ संभाला जाता है

http://www.visualsvn.com/server/

एक सार्वजनिक सेवा rlike beanstalk का उपयोग करना शायद आसान है, लेकिन कुछ लोगों को अपनी खुद की भंडार रखना पसंद है, या तो गति या सुरक्षा के लिए


यदि आप किसी कमांड लाइन कार्य से बचना चाहते हैं तो अपने सर्वर के लिए दृश्य svn भी आज़माएं।


यदि आप मैक ओएसएक्स पर हैं, तो मैंने http://www.versionsapp.com/"> वीवीएन को अविश्वसनीय (फ्री) जीयूआई फ्रंट एंड के रूप में देखा।



यदि एक विंडोज बॉक्स पर एक त्वरित और गंदे slution सीवीएसएनटी है। उपयोग करने में आसान बस इसे स्थापित करें और बहुत अच्छी तरह से काम करता है।

मैं स्वयं एसवीएन पसंद करता हूं लेकिन यह त्वरित उपयोग के लिए एक अच्छा है।


यूप, एसवीएन वरीयता के लिए जब तक कि आपको वास्तव में गिट की विशेष विशेषताओं की आवश्यकता न हो। एसवीएन काफी कठिन है; ऐसा लगता है कि गिट के साथ रहने के लिए और अधिक जटिल है। आप Beanstalk जैसे लोगों से एसवीएन होस्ट कर सकते हैं - जब तक कि आपके घर में लिनक्स लोग न हों, मैं वास्तव में इसकी अनुशंसा करता हूं। चीजें बहुत आसानी से गलत हो सकती हैं और किसी और को यह अच्छा लगा कि इसका काम ठीक करना है।

एरिक सिंक से संशोधन नियंत्रण पर एक उत्कृष्ट ट्यूटोरियल है जो पढ़ने के लायक है इससे कोई फर्क नहीं पड़ता कि आप किस प्रणाली का उपयोग करते हैं।


व्यक्तिगत अनुभव से, svn मेरी सिफारिश होगी। आप http://beanstalkapp.com/ जैसी सेवा का भी उपयोग कर सकते हैं जो पानी का परीक्षण करने के लिए मुफ्त खातों (स्पष्ट रूप से सीमाओं के साथ, लेकिन किसी भी छोटी परियोजना के लिए पर्याप्त) प्रदान करता है। लेकिन जैसा कि अन्य ने कहा है, गिट बेहतर है और इसकी तलाश करने की संभावना है।


संस्करण नियंत्रण के बारे में सबसे महत्वपूर्ण बात यह है:

बस इसका उपयोग करना शुरू करें

संस्करण नियंत्रण का उपयोग नहीं करना एक भयानक विचार है। यदि आप संस्करण नियंत्रण का उपयोग नहीं कर रहे हैं, तो अभी पढ़ना बंद करें और इसका उपयोग शुरू करें।

इसे बदलने के लिए बहुत आसान है

cvs<->svn<->git<->hg

इससे कोई फर्क नहीं पड़ता कि आप कौन सी चुनते हैं। अपने कोड के इतिहास को रिकॉर्ड करने और रिकॉर्ड करने के लिए बस सबसे आसान विकल्प चुनें। आप बाद में किसी अन्य (डी) वीसीएस में माइग्रेट कर सकते हैं।

यदि आप TortoiseSVN (विंडोज) और संस्करण (मैक) ( codingwithoutcomments द्वारा सुझाए गए ) पर GUI देखने के लिए आसान उपयोग की तलाश में हैं,

संपादित करें:

pix0r ने कहा:

गिट में कुछ अच्छी विशेषताएं हैं, लेकिन आप उनकी सराहना नहीं कर पाएंगे जबतक कि आप पहले से ही कुछ मानक जैसे सीवीएस या सबवर्जन का उपयोग नहीं कर चुके हैं।

इस। गिट का उपयोग व्यर्थ है यदि आप नहीं जानते कि आपके लिए कौन सा संस्करण नियंत्रण कर सकता है।

2 संपादित करें:

बस इस लिंक को reddit पर देखा: सबवर्सन धोखा शीट । Svn कमांड लाइन के लिए अच्छा त्वरित संदर्भ।


संस्करण नियंत्रण प्रणाली के बीच स्विच करना मुश्किल नहीं है। जैसा कि अन्य ने उल्लेख किया है कि महत्वपूर्ण बात यह है कि जितनी जल्दी हो सके कुछ भी शुरू करना शुरू करें। स्रोत नियंत्रण का उपयोग न करने पर स्रोत नियंत्रण का उपयोग करने के लाभ विभिन्न प्रकार के स्रोत नियंत्रण के बीच अंतर लाभों से काफी अधिक हैं।

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

इसके अलावा, स्रोत नियंत्रण बुनियादी सिद्धांतों से परिचित होना एक सॉफ्टवेयर डेवलपर के रूप में होना बहुत ही महत्वपूर्ण कौशल है।


सबवर्सन आपके लिए सबसे अच्छा विकल्प है, जैसा कि कार्ल सेगुइन ने इंगित किया कि एक अन्य संस्करण प्रणाली में जाने से कोई समस्या नहीं होगी। एसवीएन भी क्लाइंट साइड (TortoiseSVN) में जीयूआई का उपयोग करने के लिए बहुत आसान है।

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion





dvcs