परिचय: शुरुआत से आत्मविश्वासी डेवलपर तक Git
आपका स्वागत है। यह कोर्स आपको 'Git के बारे में सुना है' से लेकर वास्तविक टीम में आत्मविश्वास से काम करने तक ले जाने के बारे में है। Git आज कोई विकल्प नहीं, बल्कि डेवलपर की हर नौकरी की अनिवार्य आवश्यकता है। तकनीकी साक्षात्कार में इसकी जाँच की जाती है और आपके पेशेवर अंदाज का आकलन नियोक्ता से पहली बातचीत से पहले ही कर लिया जाता है। हम साथ मिलकर पहले git init से लेकर वास्तविक रिपॉजिटरी में पूर्ण pull request तक का सफर तय करेंगे। चलिए शुरू करते हैं।
क्या आपने कभी फ़ाइल का नाम 'project_final_v2_अंतिम' रखा है? या कोड की एक लाइन डिलीट करने से डर लगता था क्योंकि 'शायद बाद में काम आए'? वर्जन कंट्रोल के बिना आप हमेशा सही वर्जन खोने या यह याद न रख पाने के डर में काम करते हैं कि तीन महीने पहले आपने ऐसा क्यों किया। Git के साथ आप हर कदम को रिकॉर्ड करते हैं, अतीत के किसी भी बिंदु पर वापस जा सकते हैं, और टीम के साथ बिना अराजकता के काम करते हैं। यह सिर्फ सुविधा नहीं — यह पेशे का मानक है।
यदि आप पहले से कोड लिखते हैं — चाहे किसी भी भाषा में — लेकिन 'विलय विवाद' शब्द सुनते ही हल्की घबराहट होती है। यदि आपने git commit किया है, लेकिन अब भी निश्चित नहीं हैं कि पर्दे के पीछे क्या हो रहा है। यदि आप अपनी पहली नौकरी की तैयारी कर रहे हैं और समझते हैं कि खाली GitHub प्रोफ़ाइल नियोक्ता के लिए लाल झंडा है। यह कोर्स शून्य से शुरू होता है, लेकिन वहाँ नहीं रुकता — यह आपको ठीक वहाँ ले जाता है जहाँ वास्तविक टीमें आपका इंतजार कर रही हैं।
टीम में Git के साथ आत्मविश्वास से काम करना: सार्थक कमिट बनाना, बिना घबराए विवाद हल करना, और पुल रिक्वेस्ट ठीक वैसे करना जैसे अनुभवी डेवलपर करते हैं। लोकप्रिय git-workflow को समझना और तकनीकी साक्षात्कार में उनके बारे में ईमानदारी और स्पष्टता से जवाब देना। और सबसे महत्वपूर्ण — कोर्स के अंत में आपके पास एक वास्तविक रिपॉजिटरी होगी जिसने पूर्ण विकास चक्र पूरा किया हो: init से release टैग तक। यह अब कोई शैक्षणिक प्रोजेक्ट नहीं — यह आपका पोर्टफोलियो है।
पहले तीन भागों में हम नींव रखेंगे। 'क्यों' प्रश्न के ईमानदार जवाब से शुरू करेंगे — और मैं आपको Git के बिना डेवलपमेंट दिखाऊंगा जैसा दूसरे इसे देखते हैं। फिर Git को सही ढंग से कॉन्फ़िगर करेंगे: यह कोई उबाऊ औपचारिकता नहीं है, क्योंकि आपका नाम हर कमिट में हमेशा के लिए रहेगा। और अंत में स्टेजिंग एरिया को समझेंगे — एक अवधारणा जिसे कई लोग वर्षों तक नहीं समझ पाते, लेकिन जो आपके इतिहास को दस्तावेज़ बनाती है, कबाड़ नहीं।
चौथा भाग आपको सिखाएगा कि प्रोजेक्ट के इतिहास को एक पेशेवर की तरह कैसे पढ़ें — और क्यों 'गंदा इतिहास' तुरंत नौसिखिए को दिखा देता है। पाँचवें में हम शाखाओं को रहस्यमुक्त करेंगे: आप समझ जाएंगे कि शाखा सिर्फ एक सूचक है, और उनसे डरना छोड़ देंगे। छठे में — साक्षात्कारों में सबसे अधिक पूछा जाने वाला विषय: त्रुटियों को कैसे पूर्ववत करें। मैं एक विशिष्ट परिदृश्य दिखाऊंगा जहाँ reset hard टीम के काम को नष्ट कर सकता है, और समझाऊंगा कि कब revert ही एकमात्र सही विकल्प है।
सातवाँ भाग आपको स्थानीय काम से टीम वर्क की ओर ले जाएगा: GitHub सेट अप करेंगे, और समझेंगे कि push, pull और fetch में क्या अंतर है — तीन कमांड जो सबसे अधिक भ्रमित करते हैं। आठवें में पूरा चक्र करेंगे: fork, feature branch, pull request, code review, merge — ठीक वैसे जैसे अधिकांश वास्तविक टीमें काम करती हैं। और नौवें में विवादों को समझेंगे: हम उनसे बचेंगे नहीं, बल्कि स्पष्ट और तेज़ी से हल करना सीखेंगे, फ़ाइल में हर चिह्न के अर्थ को समझते हुए।
दसवें अनुभाग में आपको इस सवाल का ईमानदार और विस्तृत जवाब मिलेगा कि 'आपने किस git-workflow का उपयोग किया' — हम फ़ीचर ब्रांच, गिट फ़्लो और ट्रंक-बेस्ड डेवलपमेंट पर विचार करेंगे, प्रत्येक के वास्तविक फायदे और नुकसान के साथ। ग्यारहवें में हम रीबेस, स्टैश और चेरी-पिक जोड़ेंगे — ऐसे उपकरण जो एक आत्मविश्वासी डेवलपर को उससे अलग करते हैं जो केवल बुनियादी जानता है। और अंतिम प्रोजेक्ट: पहले कमिट से रिलीज़ टैग तक टीम विकास का पूरा चक्र — और आपके पोर्टफोलियो में एक वास्तविक रिपॉजिटरी।
कुछ सुझाव जो सीखने को प्रभावी बनाएंगे। पहला: देखते समय तुरंत टर्मिनल खोलें — Git हाथों से सीखा जाता है, आँखों से नहीं। दूसरा: रुकें और प्रत्येक कमांड स्वयं टाइप करें, कॉपी न करें। तीसरा: अगर कुछ टूट गया — बहुत अच्छा, यही चाहिए; सुरक्षित सीखने के माहौल में गलतियाँ सबसे अच्छी शिक्षक होती हैं। चौथा: प्रत्येक अनुभाग के बाद अपने सीखने वाले रिपॉजिटरी पर वापस जाएँ और वहीं नया लागू करें। तुरंत अभ्यास करना ही असली सीखना है।