version control - मर्कुरियल का परिचय




version-control mercurial (5)

अन्य स्रोत नियंत्रण उपकरणों के साथ अपनी पृष्ठभूमि पर निर्भर करते हुए, मैं एक विशिष्ट एससीएम को भी सुझाव देता हूं- जो कि मार्गिक गाइड के लिए है उदाहरण के लिए, सबवर्सन उपयोगकर्ताओं के लिए इस गाइड को देखें

संपूर्ण "वितरित" स्रोत नियंत्रण विचार के आसपास अपना सिर प्राप्त करने के लिए एक और अच्छा स्रोत है: http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ ... उपयोगी चित्र के साथ!

मैंने अभी एक प्रोजेक्ट पर काम करना शुरू कर दिया है जो संस्करण नियंत्रण प्रणाली के रूप में Mercurial का उपयोग करता है, और मुझे इसका उपयोग करने के लिए कुछ बुनियादी सुझावों की आवश्यकता है इस तकनीक पर कुछ परिचयात्मक सुझाव देने के लिए कृपया इस प्रश्न का उपयोग करें

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


यहां जोएल स्पोलस्की द्वारा लिखित Mercurial पर एक उपयोगी ट्यूटोरियल है

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


मर्क्यूरियल बुक और एचजी इनट ट्यूटोरियल के अतिरिक्त, मैं उदाहरण-आधारित मार्गदर्शिका का उल्लेख करना चाहूंगा जो मैंने लिखा है:

यह दिखाता है कि कैसे मर्क्यूरिअल के साथ आरंभ किया जाए और इसमें कुछ और उन्नत अवधारणाओं को भी शामिल किया गया है जैसे कि नामांकित शाखाएं और हंसुबर्सियन। मैंने इसे नए उपयोगकर्ताओं के लिए मर्क्यूरिअल पढ़ते समय उपयोग किया है और उन्हें यह पसंद है।


मुझे पता है कि आपके पास पहले से ही मर्कुरियल साइट है लेकिन मेरे लिए सबसे उपयोगी संसाधन मर्कुरिअल बुक था यह कार्यक्रम का उत्कृष्ट अवलोकन है और इसका उपयोग कैसे करना है

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

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

इस प्रकार मैं अपना विकास कैसे करता हूं:

  • फ़ाइल साझा या एचटीआई पर केन्द्रित वृक्ष, जिसे project-trunk या project कहा जाता है जो कि निश्चित परियोजना संस्करण है
  • मेरे सिस्टम पर एक साफ पेड़ है जो कि मैं दूरस्थ रिपॉजिटरी से क्लोन करता हूं और रिपॉजिटरी में वापस धक्का करने के लिए उपयोग करता हूं। तब मैं अपने परिवर्तनों के लिए इस पेड़ से क्लोन बनाता हूं। मैं इस पेड़ project-local कॉल करता हूं
  • मेरे प्रत्येक परिवर्तन के लिए project-local पेड़ क्लोन करें: उदा। project-addusers , project-141 , आदि।
  • जब मैं किसी पेड़ के साथ प्रतिबद्धता समाप्त कर लेता हूं, तो मैं परिवर्तनों को project-local भंडार में डाल देता हूं
  • अंत में, project-local को project-trunk में बदलावों को दबाएं

मेरे पास साफ project-local पेड़ है, क्योंकि मैं सभी परिवर्तनों को एक बार में ट्रंक में वापस कर सकता हूं, जो उपयोगी हो सकता है अगर संबंधित परिवर्तनों का एक समूह है जो एक साथ वापस धक्का की आवश्यकता है।

उपकरण के लिए, यह आपके मंच पर निर्भर करता है। मैं सिर्फ वेनिला कमांड लाइन टूल का उपयोग करता हूं। TortoiseSVN से आ रहा है, यह कमांड लाइन पर जाने के लिए कुछ बदलाव था। लेकिन मैं इसके साथ ठीक हूँ अब मैंने टॉर्टोइज एचजी का उपयोग करने की कोशिश की, लेकिन यह मेरे विंडोज 7 एक्स 64 आभासी मशीन पर अच्छी तरह से काम नहीं कर पाई। मैंने सुना है कि यह समर्थित 32-बिट प्लेटफ़ॉर्म पर बेहतर है






dvcs