2009-06-04 8 views
12

मैं एक छात्र हूं और मैं हमेशा अपनी परियोजनाएं विकसित करता हूं, मुख्य रूप से रूबी ऑन रेल के साथ।व्यक्तिगत परियोजनाओं का प्रबंधन कैसे करें

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

मैं एक संस्करण नियंत्रण प्रणाली का उपयोग करना चाहता हूं, लेकिन ऐसा लगता है कि वे एकल-उपयोगकर्ता परियोजनाओं के लिए नहीं हैं। क्या मै गलत हु? यदि हां, तो आप अपने कोड के प्रबंधन के लिए किस नीति और सॉफ्टवेयर का उपयोग करते हैं?

+0

मैं अंत में Dreamhost पर सबवर्सन स्थापित करने का फैसला (मेरे ब्लॉग पहले से ही वहाँ आयोजित किया गया)। आपकी सलाह के लिए धन्यवाद! – collimarco

+1

http://unfuddle.com/ उनके पास गिट और सबवर्जन होस्टिंग है जो स्वयं की मेजबानी नहीं कर सकते हैं। यह टिकट, नोटबुक, विकी, आदि के साथ आता है ... – pirho

उत्तर

8

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

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

हालांकि कुछ अन्य पोस्टरों ने संकेत दिया है कि एक निजी परियोजना को वितरित प्रणाली से अधिक लाभ हो सकता है: गिट-हब ऑनलाइन आ गया है और सफल होने के प्रयासों को बंद करने के बाद से लोकप्रियता में गिट बढ़ रहा है। http://git-scm.com/ ऐसा लगता है कि आने वाले वर्षों में इन तरह के औजार लोकप्रियता में बढ़ेंगे क्योंकि वे अधिक संख्या में लोगों को एक ही कोड पर भाग लेने की अनुमति देते हैं। एक केंद्रीय भंडार का विचार आराम से प्रत्येक डेवलपर को अलग-अलग डिज़ाइनों को ट्रैक करने की क्षमता प्रदान करता है और केवल समुदाय को उनके द्वारा पूरा किए जाने वाले संस्करणों को वापस देता है।

सभी परियोजनाओं के लिए व्यक्तिगत या नहीं के लिए एससीएम का उपयोग करने के लाभों में से एक यह है कि एक अलग सर्वर को कोड के एक संस्करण का परीक्षण करने के लिए सेट किया जा सकता है। कोड के नवीनतम संस्करण (निरंतर एकीकरण सर्वर या इसी तरह का उपयोग करके) पर स्वचालित परीक्षण आपके द्वारा लिखे गए सॉफ़्टवेयर की गुणवत्ता में सुधार कर सकता है।

कुछ अत्यधिक अनुभवी सॉफ्टवेयर डेवलपर्स एक लय के बारे में बात करते हैं जहां वे बार-बार जांच में वृद्धिशील परिवर्तन करते हैं। छोटे बदलाव करने की आदत में आना जो उन्हें पूरा कर रहा है और इन्हें जांच रहा है: समूह काम करने के लिए एक अच्छा अभ्यास है।

3

सबवर्सन!

आप स्थानीय रूप से स्थापित कर सकते हैं या एक होस्टेड सेवा का उपयोग कर सकते हैं। यदि आप कंप्यूटर के बीच स्विच करना चाहते हैं या इसे ऑफ़लाइन बैकअप के रूप में उपयोग करना चाहते हैं तो सेवाएं अच्छी हैं। http://www.beanstalkapp.com/ व्यक्तिगत उपयोग के लिए एक नि: शुल्क योजना है।

गिटहब (गिट, विवर्तन नहीं) भी लोकप्रिय है लेकिन मेरा मानना ​​है कि निजी परियोजनाओं के लिए एक छोटा सा शुल्क है।

+1

यह बहुत अधिक है अगर आप गिथब पर एक निजी/वाणिज्यिक भंडार चाहते हैं कि आप एक के लिए भुगतान करेंगे। ओपन सोर्स का शुल्क नहीं लिया जा रहा है। –

0

संस्करण नियंत्रण हमेशा महत्वपूर्ण है। http://beanstalkapp.com/ की तरह एक मुफ्त ऑनलाइन SVN का प्रयास करें कोई खोज करें और आप मैं अत्यधिक VisualSVN सर्वर को डाउनलोड करने की सिफारिश करेंगे सुझाव

0

के बहुत सारे पा सकते हैं। यह एक बहुत ही सरल सेटअप है और आपको वही करना होगा जो आपको चाहिए।

+0

मै मैक पर हूं;) – collimarco

15

ऐसा कुछ भी नहीं है जो कहता है कि यदि आप एक ही उपयोगकर्ता हैं तो आप मानक संस्करण नियंत्रण प्रणाली का उपयोग नहीं कर सकते हैं। ऐसा करने से आपको निश्चित रूप से कुछ और दर्दनाक समस्याओं का सामना करना पड़ेगा जैसे कि एक ही समय में परिवर्तित फ़ाइलों को विलय करना और कई डेवलपर्स से उत्पन्न होने वाले अन्य संघर्ष।

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

+0

+1 - मेरी सभी गैर-बाइनरी फाइलें संस्करण नियंत्रण में हैं। हो सकता है कि एसवीएन-ए-माउंट-वॉल्यूम के लिए एक FUSE ड्राइवर अच्छा होगा। –

10

वितरित संस्करण नियंत्रण प्रणाली केवल आपके लिए हैं: बाज़ार, गिट या Mercurial के लिए देखो। वे हल्के वजन वाले हैं, स्थानीय काम आसान हैं और आप हमेशा पिछले संस्करण में वापस कर सकते हैं। गिटहब जैसे होस्टिंग प्रदाता के साथ, आप अपनी परियोजनाओं को प्रकाशित कर सकते हैं, आपको बैकअप मुफ्त में मिलता है और आप आसानी से साझा कर सकते हैं अन्य संभावित योगदानकर्ताओं के साथ परियोजनाएं। सहयोग आसान है क्योंकि विलय आपके परिवर्तन भी हल्के ऑपरेशन हैं।

3

git का उपयोग करें। यह आपको किसी सर्वर की आवश्यकता के बिना काम करने की अनुमति देता है।

कमांड लाइन और एक GUI (older screenshots) भी (linux के लिए, windows और OS X) के लिए उपयोगिताओं रहे हैं।

यदि आप बाद में अपनी परियोजना को साझा या प्रकाशित करना चाहते हैं तो आप आसानी से github जैसी साइट पर इसे दबा सकते हैं।

1

मैं अपनी सभी परियोजनाओं को प्रबंधित करने के लिए उपversण का उपयोग करता हूं। xp-dev.com एक नि: शुल्क उपवर्तन होस्टिंग समाधान है। साथ ही, मुझे लगता है, अगर आप tortisesvn इंस्टॉल करते हैं तो यह स्थानीय रूप से उपयोग करने के लिए एक सबवर्जन सर्वर स्थापित करता है।

6

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

यह भी देखें: https://stackoverflow.com/questions/250984/do-i-really-need-version-control

और: Using Version Control for Home Development?

+0

मैं निजी परियोजनाओं के लिए एसवीएन का उपयोग करता हूं क्योंकि 1) यह मुफ़्त है, और 2) आप फ़ाइल के माध्यम से स्थानीय भंडार प्राप्त कर सकते हैं: // प्रोटोकॉल (इसलिए आपको सर्वर चलाने या चलाने की आवश्यकता नहीं है)। –

0

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

1

एक पूर्ण संस्करण संस्करण नियंत्रण ड्रॉपबॉक्स (www.getdrobox.com) है। यह स्रोत कोड के लिए (केवल) नहीं है। मैक, विन और लिनक्स प्लस निजी वेब इंटरफेस के लिए यह उपलब्ध है (स्मार्ट ओएस एकीकरण के साथ)।

यह आपके लिए दिलचस्प हो सकता है।

3

व्यक्तिगत परियोजनाओं के लिए भी, यदि वे कुछ घंटों लिखने से बड़े हो जाते हैं, तो एक संस्करण नियंत्रण प्रणाली बहुत फायदेमंद होगी।

यहाँ कुछ अच्छा बिंदु हैं:

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

मैं व्यक्तिगत रूप से मैं ग्रहण में Subclipse plug-in, जो मैं अपने निजी परियोजनाओं का ट्रैक रखने में बहुत उपयोगी हो पाते माध्यम से पहुंच जो मेरे सिस्टम पर चलने वाले एक Subversion सर्वर का उपयोग करें।

यदि आप सबवर्सन में रुचि रखते हैं, Version Control with Subversion अवधारणाओं के बारे में सीखने और सबवर्सन के साथ कैसे सेट अप और प्रारंभ करने में एक बहुत ही उपयोगी स्रोत है।

संस्करण नियंत्रण प्रणाली पहले थोड़ा मुश्किल हो सकती है, लेकिन यह निश्चित रूप से स्थापित करने के प्रयास के लायक है!

1

मैं "हमेशा" का उपयोग कर किसी भी सवाल का जवाब मैं इतने पर देने में की बहुत सावधान हूँ ...

हमेशा संस्करण नियंत्रण का उपयोग करें। इन दिनों यह मुफ्त और आसान है। इसका उपयोग करने के लिए कभी भी कोई कारण नहीं है। यदि यह एक घंटे लंबी परियोजना है ... अच्छा ... यह एक घंटे की लंबी परियोजना है जो अब संस्करण नियंत्रण में है।

मेरे समाधान किया गया है slicehost (ठीक है ... नहीं नि: शुल्क), redmine (मुक्त आतंक विरोधी बग ट्रैकर) git और gitosis। एक नई परियोजना शुरू करने से किसी भी कोडिंग के सामने लगभग पांच मिनट जोड़े जाते हैं, लेकिन इसके पांच मिनट इसके लायक हैं।

2

एसवीएन या मर्कुरियल का उपयोग करें।

दोनों "घर" उपयोग के लिए बहुत उपयुक्त हैं, मुझे लगता है कि Mercurial आपके लिए बेहतर है क्योंकि डिफ़ॉल्ट रूप से आप प्रति परियोजना एक भंडार बनायेंगे (एसवीएन की एक "बड़ी" भंडार जो सबकुछ स्टोर करता है), तो यह होगा बैकअप व्यक्तिगत परियोजनाओं या यदि आवश्यक हो तो दूसरों के साथ विनिमय स्रोतों के लिए आसान है।

दोनों कमांड लाइन मोड में काम करते हैं या एक्सप्लोरर-जैसे इंटरफेस (टोर्टोइस) या प्लगइन को सबसे सामान्य आईडीई के लिए उपलब्ध करते हैं।

+0

बिल्कुल एसवीएन पर Mercurial की सलाह देते हैं। एसवीएन बहुत अच्छा है लेकिन इसमें एक बड़ा भंडार है। Mercurial प्रति परियोजना और त्वरित और अगम्य है। मैं एक निर्देशिका में जा सकता हूं, "एचजी इनिट" टाइप करें, "एचजी ऐड {फाइल जो मैं जोड़ना चाहता हूं}", "एचजी प्रतिबद्ध" और मैंने अपना भंडार सेटअप किया है। –

+1

यदि आपने अपना भंडार सही तरीके से रखा है, तो उपद्रव "एक बड़ा रेपो" नकारात्मक होने की आवश्यकता नहीं है। यह न मानें कि अगर आप अपाचे के माध्यम से अपने सबवर्जन रेपो साझा करते हैं, तो आपको प्रभावी ढंग से असीमित रिपोजिटरी मिलती है (बुद्धि: स्रोत फोर्ज) –

+0

@ डार्थकोडर: जब आप पहली बार एसवीएन इंस्टॉल करते हैं और पहले कभी इसका इस्तेमाल नहीं करते हैं, तो मुझे संदेह है कि आप करेंगे लेआउट सही प्राप्त करें ... दूसरी तरफ, जेसन कहते हैं, Mercurial के साथ, आप बस कोई फ़ोल्डर लेते हैं और इसे एक सेकेंड में एक भंडार के रूप में परिवर्तित करते हैं। आप इसके साथ गलत नहीं जा सकते हैं। – Billy

1

एक आइटम जिसे आप गिटब होस्टिंग का उपयोग करने के बारे में पसंद करेंगे, यह है कि आपके पास उन परिवर्तनों का इतिहास है, जिन्हें आप जा सकते हैं और वास्तविक कोड स्रोत प्राप्त कर सकते हैं और इस प्रकार 'कोड' पिछले कोड में परिवर्तन कर सकते हैं।

आप, साथ ही बादल पर एक फ़ोल्डर के लिए कच्चे कोड का बैकअप लेने में ड्रॉपबॉक्स दृष्टिकोण इस्तेमाल कर सकते हैं ..

मैं निजी परियोजनाओं के लिए दोनों तरीकों का इस्तेमाल किया है।

-1

आपका मैक स्थापना सीडी XCode उपकरण किट

अधिक जानकारी के लिए http://developer.apple.com/internet/opensource/cvsoverview.html देखें के हिस्से के रूप सीवीएस संस्करण नियंत्रण के साथ आता है

ऐसे beanstalkapp.com रूप
+1

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

+0

सच है, लेकिन कम से कम उसे जरूरत पड़ने पर सामान आसानी से उपलब्ध हो गया है! – Katy

1

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

1

Bitbucket के आधार पर निजी परियोजनाओं के लिए एक निरपेक्ष चाहिए विचार है: अपने मुफ़्त खाता

  • Git और मर्क्युरियल समर्थन पर

    • मुफ्त, असीमित, निजी खजाने
    • 5 करने के लिए उपयोगकर्ताओं

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

    यह भी परियोजनाओं है कि सार्वजनिक क्षेत्र में प्रवेश करेंगे अनुमति देता है बस, GitHub के लिए काँटेदार किया जाना आदि