मैं अपने लिए एक स्रोत कोड नियंत्रण प्रणाली कैसे स्थापित करूं?


23

मैं अपने कार्यालय में अपने डेस्कटॉप पर कार्यक्रम करता हूं, लेकिन कभी-कभी अपने लैपटॉप पर एक अलग कमरे में घर पर भी, और घर से दूर भी। मुझे जो चाहिए वह एक प्रणाली है जो स्वचालित रूप से या ऑन-डिमांड मेरे काम को एक से दूसरे तक, जरूरत पर सिंक करती है।

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

मैं .NET (विंडोज फोन 7, वास्तव में) में काम करता हूं।


1
ड्रॉपबॉक्स का उपयोग करें, बस इसे दोनों मशीनों पर स्थापित करें और इसके साथ किया जाए। इसका मुफ्त (2GB तक)। आपकी स्थिति के लिए स्रोत नियंत्रण शीर्ष (IMHO) पर है।
डार्क नाइट

26
स्रोत नियंत्रण शीर्ष (IMHO) पर कभी नहीं होता है!
मोंगस पोंग

4
Git को स्थापित करने और चलाने के लिए <15 मिनट (डाउनलोड बैंडविड्थ पर निर्भर करता है) लेता है।
मोंगस पोंग

2
ड्रॉपबॉक्स को स्थापित करने और चलाने के लिए <3 मिनट (डाउनलोड बैंडविड्थ के आधार पर) लगता है।
डार्क नाइट

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

जवाबों:


39

सबसे आसान तरीका एक ऑनलाइन सिस्टम का उपयोग करना है। चेकआउट GitHub या BitBucket । Git या Mercurial के बारे में अधिक जानकारी के लिए , क्रमशः Git Reference और Hg Init देखें


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

21
Git और Mercurial जैसी वितरित संस्करण नियंत्रण प्रणालियों के बारे में अच्छी बात यह है कि आप स्थानीय रूप से अपने रेपो के साथ काम कर सकते हैं, और तब कुछ केंद्रीय सर्वर के साथ सिंक कर सकते हैं जब भी आपके पास 'नेट कनेक्शन काम' हो। ओपी के लिए आदर्श समाधान की तरह लगता है।
मिशेल टिली

@ ब्रेंडन - बाहरी ड्राइव पर एक मुख्य रेपो के लिए भी काम करता है, जब यह हर समय जुड़ा रहता है तो दर्द होता है।
स्टीव ३१

2
याद रखें, BitBucket के पास नि: शुल्क निजी रिपॉजिटरी (GitHub के विपरीत) है, जो संभवतः इसे ओपी के लिए एक बेहतर विकल्प बनाता है।
केविन याप

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

7

आप DVCS जैसे Git या Mercurial का उपयोग कर सकते हैं जो स्थानीय रिपॉजिटरी बना सकता है, फिर ड्रॉपबॉक्स स्थापित करें और अपने प्रोजेक्ट फ़ोल्डर (रिपॉजिटरी फ़ोल्डर सहित) को ड्रॉपबॉक्स फ़ोल्डर में डालें।

ड्रॉपबॉक्स सिंक्रोनाइज़ेशन को हैंडल करेगा और यह ऑफलाइन स्थिति को तब तक हैंडल कर सकता है जब तक आप सिंक्रोनाइज़ेशन के बीच केवल एक स्थान पर संशोधन कर रहे हैं।

BTW ड्रॉपबॉक्स आपकी फ़ाइलों को सार्वजनिक रूप से डिफ़ॉल्ट रूप से उजागर नहीं करेगा, लेकिन यदि आप चाहें तो आप अभी भी उन्हें उजागर कर सकते हैं।

संपादित करें

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



अनिवार्य रूप से मैं क्या करता हूं। मेरे डेस्कटॉप और लैपटॉप पर मरकरी रिपॉजिटरी, ड्रॉपबॉक्स में मुख्य रिपॉजिटरी, जिसे मैं पुश और से खींचता हूं।
डेविड थॉर्नले

@ डेविड मैं इसे रिवर्स में करता हूं, पीसी में मुख्य रेपो, ड्रॉपबॉक्स में काम रेपो, स्रोत कोड फ़ाइलों सहित जिसमें मैं काम कर रहा हूं।
एंडी तजहोनो

@ एंडी तजहोनो: यह आपकी टिप्पणी से लगता है जैसे आप एक कंप्यूटर पर अपना काम करते हैं। मैं कभी-कभी अपने डेस्कटॉप का उपयोग करता हूं और कभी-कभी अपने लैपटॉप का उपयोग करता हूं, इसलिए यह वास्तव में उनमें से एक पर मेरे मुख्य भंडार का काम नहीं करता है।
डेविड थॉर्नले

@ मेरी गलती के कारण, मुझे अपने मुख्य पीसी में 'बैकअप' रेपो कहना चाहिए था। मेरा 'मुख्य' रेपो ड्रॉपबॉक्स फ़ोल्डर के अंदर का काम रेपो है। मैं बैकअप बैकअप के लिए कभी-कभार बैकअप रेपो पर धकेल देता हूं।
एंडी तजहोनो

6

यहाँ कुछ त्वरित निर्देश दिए गए हैं कि कैसे वितरित VCS की स्थापना की जाए। Git या Mercurial का उपयोग करने का लाभ यह है कि आपको सर्वर सेट करने की आवश्यकता नहीं है, क्योंकि यह रिपॉजिटरी के रूप में काम कर रहा है। आपके पास आपके कोड के बगल में आपके कंप्यूटर में स्थानीय रिपॉजिटरी है (git में एक .gitफ़ोल्डर है और मर्क्यूरियल .hgमें प्रोजेक्ट पथ में एक फ़ोल्डर है)।

गिट का उपयोग करना

चरण 1: गिट डाउनलोड और स्थापित करें। खिड़कियों के लिए आप TortoiseGit का उपयोग करना चाह सकते हैं । कुछ सेटअप नोट्स यहाँ हैं

चरण 2: अपनी परियोजना के लिए स्थानीय रिपॉजिटरी को आरम्भ करने और रिपॉजिटरी के लिए प्रतिबद्ध करने के लिए git कम्युनिटी बुक का पालन ​​करें ।

चरण 3: चीजों को "क्लाउड" पर रखने के लिए जो कि जीथब है आप इस ट्यूटोरियल का अनुसरण कर सकते हैं ।

मर्क्यूरियल का उपयोग करना

चरण 1: डाउनलोड करें और स्थापित करें। खिड़कियों के लिए आप TortoiseHg का उपयोग करना चाह सकते हैं ।

चरण 2: अपनी परियोजना के लिए भंडार बनाने और भंडार के लिए प्रतिबद्ध करने के लिए त्वरित प्रारंभ गाइड का पालन ​​करें ।

चरण 3 "क्लाउड" पर चीजों को रखने के लिए जो कि बिटबकेट है आप इस ट्यूटोरियल का अनुसरण कर सकते हैं ।

आप नेट पर काम कर रहे हैं आप मर्क्युरियल की वजह से उपयोग कर सकते हैं (एक तरह से) लेखन पल में Windows में बेहतर समर्थन।


2

जैसा कि पहले से ही @ पीटर-रोवेल और अन्य लोगों ने सही कहा है, सबसे आसान तरीका है कि डीवीसीएस में से किसी एक जैसे जीआईटी और इसी तरह के ऑनलाइन सिस्टम जैसे कि गितुब या अनफूडल का उपयोग करें। मैं व्यक्तिगत रूप से Git और Unfuddle का उपयोग करता हूं।

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


Unfuddle एक बेहतरीन सेवा है। मूल रूप से यह सिर्फ कुछ अच्छे ट्विक्स के साथ रेडमाइन की एक प्रति है।
कीयो

2

लगभग किसी भी DVCS को मदद मिलेगी।

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


1
Bitbucket मर्क्यूरियल होस्टिंग प्रदान करने वाली एक सेवा है।
तमसे सजेलेई

धन्यवाद। मैं जानता था कि; लेकिन मेरे दिमाग में नाम उलझ गए हैं
जेवियर

1

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

जैसे जोएल ने अपने एक ब्लॉग पोस्ट में कहा था बग ट्रैकिंग और सोर्स कंट्रोल हमेशा एक प्लस होते हैं, यहां तक ​​कि एक अकेला डेवलपर भी।


खैर, यह 3 उपयोगकर्ताओं के लिए मुफ्त हो सकता है, लेकिन अब यह प्रति माह प्रति उपयोगकर्ता $ 25 है। फिर भी, एक शांत ठेस की तरह लगता है।
साइबरहेलिस्ट

1

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


अच्छा! इसका उल्लेख करने के लिए धन्यवाद - मैंने अभी तक Google कोड के बारे में पहले नहीं सुना था।
साइबरहेलिस्ट

0

यह इस बात पर निर्भर करता है कि सर्वर स्थापित करने के बारे में आपका ज्ञान क्या है और आप किस समय निवेश करने के इच्छुक हैं।

व्यक्तिगत रूप से मैंने एक हॉस्टल से एक छोटा वर्चुअल सर्वर किराए पर लिया है और एक अपाचे वेबसर्वर को एक एकीकृत सबवर्सन रिपॉजिटरी (जो मैं अब गिट में परिवर्तित कर रहा हूं) स्थापित किया है। सेटअप वास्तव में इतना अधिक नहीं है और एक बार यह ऊपर और चल रहा है, तो आपको इसके बारे में चिंता करने की ज़रूरत नहीं है। इस सेटअप का यह लाभ है कि आप न केवल एक संस्करण नियंत्रण रिपॉजिटरी, बल्कि अन्य प्रकार के सामान को भी सेटअप करने में सक्षम होंगे, जिसे आप जहां चाहें वहां से एक्सेस कर सकते हैं (मैंने उदाहरण के लिए एक WIKI और एक मुद्दा ट्रैकर स्थापित किया है)।

यदि आपके लिए यह बहुत अधिक है, तो आप हमेशा GitHub जैसे पहले से सुझाए गए ऑनलाइन सिस्टम का उपयोग कर सकते हैं।


0

सबसे आसान शायद गिट प्रदाता के साथ जाना है, जीथब को निजी खाते के लिए भुगतान करने की संभावना है।

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

केवल एक चीज जिसे आपको याद रखने की आवश्यकता है वह यह है कि आपको कंप्यूटर स्विच करने के लिए प्रतिबद्ध और अपडेट करने की आवश्यकता है।


मुझे नहीं लगता कि एसवीएन यहां सही जवाब है। मुझे SVN की तुलना में Mercurial सेट करना आसान लगा, और यह SVN से बेहतर प्रणाली है। केंद्रीय रिपॉजिटरी से सीधे संबंध के बिना SVN बेकार है, और ओपी के पास दो कंप्यूटर हैं जिनका प्रत्यक्ष रूप से सीधा लिंक नहीं है।
डेविड थॉर्नले

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

मेरी धारणा यह है कि जब वह काम पर जाता है तो वह उसके साथ लैपटॉप घुमा रहा होता है, अन्यथा यह एक आसान सेटअप नहीं होगा और डेविड सही है।
जोहान

एक git या Hg रेपो ( git init), सेकंड के एक जोड़े को सेटअप करने के लिए लिया गया समय । तोड़फोड़ के साथ आपको पहले एक सर्वर की आवश्यकता होती है, जो git/hg initआपकी निर्देशिका में चलने की तुलना में बहुत कठिन है । मैं अधीर और आलसी हूं और Git मुझे SCM का उपयोग करने के लिए प्रोत्साहित करता है क्योंकि यह (विलय, प्रारंभिक, कमिटिंग) इतनी जल्दी और दर्द रहित है।
कीयो

0

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


-2

ड्रॉपबॉक्स

अन्य सभी उपाय आपकी आवश्यकताओं के लिए अति-आघात हैं:

बस दोनों कंप्यूटरों पर ड्रॉपबॉक्स स्थापित करें ।

एक पूर्ण विकसित स्रोत नियंत्रण अच्छा है, लेकिन आपकी स्थिति में इसकी आईएमएचओ की आवश्यकता नहीं है ।

यह लेने के लिए सबसे आसान सबसे सरल मार्ग है -> आप जितनी चाहें उतनी मशीनों पर ऑटो-सिंक किए गए फ़ोल्डरों के साथ समाप्त होते हैं।


1
आप ड्रॉपबॉक्स के साथ Git का उपयोग कर सकते हैं। देखें stackoverflow.com/questions/1960799/…
मोंगस पोंग

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

हाँ, आपका शायद सही है। मैं सिर्फ एक ही डेवलपर के लिए सोचता हूं कि यह सिर्फ सादा अनावश्यक और ओटीटी है, लेकिन बिल्ली यह मेरा विचार है।
डार्क नाइट

git init, git add ., git commit -m "bla"तुम सब कुछ कोड प्रतिबद्ध करने के लिए पता करने की जरूरत के बारे में है। कठिन नहीं है और आपको मन का टुकड़ा मिलता है कि आप इसे वापस ला सकते हैं। बेशक लाभ हैं बहुत अधिक एक टीम में महत्वपूर्ण है, लेकिन मैं समय में बात करने के लिए वापस रीसेट के लिए महत्वपूर्ण है में सक्षम होना चाहते। ब्रांच और स्टैश करने में सक्षम होने के नाते मुझे और अधिक उत्पादक बनाता है।
कीयो

मैं सुनता हूं कि आपका क्या कहना है, ड्रॉप बॉक्स में इसकी वास्तविक समय तुल्यकालन है, इसमें मूल रोल वापस है। हाँ एक पूर्ण विकसित स्रोत नियंत्रण की तुलना में इसका कुछ भी नहीं है, लेकिन फिर इसका बहुत "आग और भूल"
Darknight
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.