Transcript for:
गिट और गिटहब का व्यापक ज्ञान

हे एवरीवन वेलकम बैक वेलकम टू अनदर एक्साइटिंग वीडियो एंड इस वीडियो के अंदर हम बात करने वाले हैं गट एंड गिट हब की सो यस तो ये एक क्रैश कोर्स होने वाला है गिट एंड गट हब का हम समझने वाले हैं दैट गट क्या होता है गट हब क्या होता है वर्जन कंट्रोलिंग सिस्टम क्या होता है एंड जितने भी बेसिक चीजें हैं गिट की टू इंटरमीडिएट लेवल तो वो हम सब कुछ इस पर्टिकुलर वीडियो के अंदर कवर करने वाले हैं सो इस वीडियो के बाद हमें पता होगा दैट गिट क्या होता है वर्जन कंट्रोलिंग क्या होता है सोर्स कंट्रोल क्या होता है किस तरह से हम गट को यूज़ कर सकते हैं अपने वर्जन कंट्रोलिंग सिस्टम को मैनेज करने के लिए लबरेट करने के लिए एंड हम देखेंगे दैट गिट के अंदर ब्रांचेस क्या होते हैं स्टैशेज इंग एरिया क्या होता है एंड और भी बहुत सारी चीजें सो बहुत एक्साइटिंग वीडियो होने वाला है वीडियो को एंड तक जरूर देखना एंड लेट्स स्टार्ट विद द वीडियो तो पहले बात करते हैं दैट इस पर्टिकुलर वीडियो के अंदर हम क्या-क्या कवर करने वाले हैं सो इस तो मैंने यहां पर एक डॉक्यूमेंट बनाया तो इस वीडियो के अंदर हम कवर करने वाले हैं वर्जन कंट्रोल सिस्टम तो हम समझेंगे दैट वीसीएस वर्जन कंट्रोल सिस्टम क्या होता है किस तरह से हम वीसीएस को इंप्लीमेंट करते हैं एंड किस तरीके की प्रॉब्लम्स हम सॉल्व करते हैं स सीएस को यूज़ करके हम देखेंगे कुछ फेमस गिट अ कुछ फेमस वीसीएस जो मार्केट में यूज़ होते हैं उसके बाद हम गिट की तरफ बढ़ेंगे गिट को कैसे हम इंस्टॉल कर सकते हैं गिट सीआई क्या होता है गिट सीआई से हम कैसे कंफर्टेबल हो सकते हैं तो यहां पर हम पूरा गिट को समझेंगे एंड उसके बाद हम समझने वाले हैं वर्जन कंट्रोलिंग कैसे कर सकते हैं यूजिंग गिट तो गट प्रोजेक्ट को हम किस तरह से इनिश इज कर सकते हैं हम किस तरह से फाइल्स को ऐड कर सकते हैं रिमूव कर सकते हैं हमारे सीसीएस में कमिट्स क्या होते हैं स्टेजिंग एरिया क्या होता है कमिट्स को मैनेज कैसे कर सक सकते हैं मर्ज कैसे कर सकते हैं एंड किसी भी कमिट को रिवर्ट बैक कैसे कर सकते हैं तो वो सब कुछ हम समझेंगे हमारे पार्ट थ्री के अंदर एंड फिर हम समझेंगे दैट क्या डिफरेंस है गिट और गट हब में खुद का गिट सर्वर कैसे बना सकते हैं तो वो सब चीजें भी हम कवर करने का ट्राई करेंगे एंड हम देखेंगे गिट हब क्या होता है तो वो सब चीजें एंड फाइनली हम ब्रांचिंग एंड कुछ और चीजों को हम समझने वाले हैं तो ये हमारा पूरा स्ट्रक्चर रहने वाला है तो ट्राई करूंगा दैट हम इसी वीडियो के अंदर हम सब कुछ को कंप्लीट कर पाएं बट जस्ट इन केस नहीं होता तो हम उसको पार्ट टू में भी कवर कर सकते हैं तो ये है हमारा पूरा फ्लो ओके इसी के साथ बात करते हैं वर्जन कंट्रोलिंग सिस्टम तो वर्जन कंट्रोलिंग सिस्टम क्या होता है तो एज पर तो डेफिनेशन यू कैन रीड दैट इसको सोर्स कंट्रोल भी कहते हैं जिससे हम मैनेज कर सकते हैं ट्रैक कर सकते हैं हमारे कोड के चेंजेज फॉर एग्जांपल लेट्स से हमारे पास एक कोड है ओके हमारे पास ये एक कोड है तो यू कैन अजूम दैट ये एक तरह की कोई स्क्रिप्ट फाइल है जैसे हम इसको नेम दे सकते हैं index.js तो ये क्या है ये एक स्क्रिप्ट फाइल है जिसके अंदर हमारे पास क्या हो सकता है हमारे पास कुछ कोड हो सकता है सो लेट्स से इनिशियली जो मेरा कोड है वो कुछ ऐसा दिखता है दैट एज इक्वल्स टू लेट्स से 24 तो ये मेरा एक कोड है जो बिल्कुल सही से वर्क कर रहा है करेक्ट ओवर टाइम क्या होता है जब हम किसी बड़े प्रोजेक्ट पे वर्क करते हैं ओवर टाइम हमारे कोड के अंदर बहुत सारे चेंजेज आते हैं राइट हम बहुत सारे फीचर्स को ऐड करते हैं बहुत सारे कोड को हम चेंज करते हैं रीफैक्स बहुत सारे चेंजेज आते हैं तो फॉर एग्जांपल मैं क्या कर सकता हूं आज मैंने इतना काम किया कल को मैं क्या कर सकता हूं मैं यहां पर एक और वेरिएबल बना सकता हूं नेम इक्वल्स लेट्स से यहां पर हम एक स्ट्रिंग बना सकते हैं पीयूष ओके तो लेट्स से दैट ये मेरा एक कोड के अंदर एक चेंज है ओके व्हिच इज फाइन इसको हम थोड़ा सा बड़ा कर लेते हैं एंड लेट्स से उसके बाद कोई और डेवलपर आया तो उसने एक फंक्शन बना दिया यहां पे एंड वो बना सकता है गेट नेम एंड ये पर्टिकुलर फंक्शन क्या करेगा लेट्स से रिटर्न कर देगा जो भी नेम की वैल्यू है तो यू कैन सी दैट ओवर टाइम क्या हो रहा है ओवर टाइम जो मेरा कोड है वो ग्रो कर रहा है ओवर टाइम मेरा जो कोड है वो चेंज हो रहा है लेकिन इसको हम ट्रैक कैसे करें कैसे ट्रैक करें दैट इनिशियली हमारा जो कोड था उसके अंदर सिर्फ एक ही लाइन ऑफ कोड था उसके बाद किसी ने उसके अंदर यह वाली लाइन ऐड कर दी देन किसी ने यह वाला फंक्शन जो है वह ऐड कर दिया देन हो सकता है किसी ने इसको रिनेम करके नेम वन कर दिया हो तो यह क्या हो रहा है बेसिकली जो मेरा कोड है वह ओवर टाइम चेंज हो रहा है एंड इस चीज को ट्रैक करना मैनेज करना इसको कहते हैं वर्जन कंट्रोल सिस्टम ओके तो वीसीएस हमें क्या अलाउ करता है दैट इन चेंजेज को हम क्या कर सकते सकते हैं हम ट्रैक कर सकते हैं तो ट्रैकिंग कैसा रहेगा दैट हम एक टाइमलाइन बना सकते हैं दैट इनिशियली लेट्स से इनिशियली जो हमारा कोड था उसके अंदर सिर्फ एक ही लाइन ऑफ कोड था दैट इज कंस्ट ए इक्वल्स टू लेट्स से 24 ओके तो ये मेरा इनिशियल कोड था उसके बाद किसी ने क्या किया उसके ऊपर ओवर टाइम चेंजेज कर दिए दैट उस कोड को कुछ ऐसा कर दिया दैट कॉस्ट उसके अंदर एक लाइन ऐड कर दी नेम इक्वल्स टू एंड वो हो गया पीयूष ओके तो ये मेरा क्या हुआ बेसिकली मेरा ओवर टाइम कोड की स्टेट चेंज हुई देन किसी ने क्या किया किसी ने मेरे कोड के अंदर अ कुछ फंक्शन ऐड कर दिया राइट तो वो हम फंक्शन यहां से कॉपी कर लेते हैं तो यह हमारा फंक्शन है जो अभी अभी ऐड हुआ तो किसी ने हमारे कोड के अंदर ये एक फंक्शन ऐड कर दिया तो यू कैन सी दैट मेरा जो कोड है ना उसकी एक वर्जन हिस्ट्री बन रही है आई कैन आई एम एबल टू ट्रैक दैट व्हाट्स हैपनिंग दैट इस स्टेट से वो इस स्टेट में गया और इस स्टेट से वो इस स्टेट के अंदर गया इस चीज को बोला जाता है वर्जन कंट्रोलिंग वर्जन ट्रैकिंग ओके तो बेसिकली इससे मेरे को एक आइडिया लग रहा है दैट मेरा जो कोड है वो ओवर टाइम कैसे-कैसे चेंज हुआ प्लस मैं कभी भी लेट्स से ये पर्टिकुलर जो कोड है इसमें कोई बग है लेट्स से ये वाला कोड बग ही है ओके एंड यू कैन सी दी बग दैट यहां पर हमारे पास नेम था यहां पर हमारे पास नेम वन था तो मैं क्या कर सकता हूं किसी भी पॉइंट ऑफ टाइम पे वापस मैं रिवर्ट बैक भी कर सकता हूं अगर मेरे पास वर्जन कंट्रोलिंग सिस्टम ही नहीं है तो ये सब चीजें पॉसिबल नहीं होंगी एंड बड़े कोड बेसस के अंदर कोड को मैनेज करना बहुत ज्यादा डिफिकल्ट हो जाएगा तो ये पर्टिकुलर काम होता है इसका वसीए का जिसको हम कहते हैं वर्जन कंट्रोलिंग सिस्टम आल्सो नोन एज सोर्स कंट्रोल तो इससे मैं क्या कर पा रहा हूं अपने सॉफ्टवेयर कोड चेंजेज को ट्रैक एंड मैनेज कर पा रहा हूं तो ये होता है सीसीएस अब हमारे पास बहुत सारे तरह के सीसीएस होते हैं बहुत तरह के वर्जन कंट्रोल सिस्टम होते हैं फॉर एग्जांपल गट तो गट क्या है गिट बेसिकली एक वर्जन कंट्रोल सिस्टम है जो सबसे ज्यादा सबसे वाइडल यूज़ होता है लेकिन गिट ही अकेला एक वीसीएस नहीं है हमारे पास और भी वीसीएस हैं फॉर एग्जांपल हमारे पास अचे सब वर्जन है हमारे पास piper's हैं कंपनीज हैं जितने भी सर्विस बेस्ड कंपनीज है प्रोडक्ट बेस्ड कंपनीज हैं वो सब अपने सीसीएस के लिए क्या यूज़ करेंगे गट को ही यूज़ करेंगे तो बेसिकली इन चीजों को मैनेज करने के लिए वर्जन कंट्रोलिंग को समझने के लिए एंड मैनेज करने के लिए हम क्या यूज़ करेंगे हम यूज़ करने वाले हैं गिट सो आई होप दैट इस पर्टिकुलर पॉइंट ऑफ टाइम पे हमें समझ आ गया होगा एक वर्जन कंट्रोलिंग सिस्टम क्या होता है एंड मैं यहां पर गिट हब की बात नहीं कर रहा हूं गट हब एक अलग चीज है मैं यहां पर सिर्फ बात कर रहा हूं गिट की ओके तो वीसीएस क्या है गिट गिट हब एक वीसीएस नहीं है गिट हब इज अ डिफरेंट चीज तो गिट क्या है गिट है एक्चुअली में हमारा सीसीएस ओके तो इससे हमारे जो बेसिक्स है वो हो चुके हैं क्लियर अब बात करते हैं गेट वीसीएस की तो गेट क्या है तो गेट हमें पता है गेट क्या है गेट बेसिकली एक वीसीएस है तो हम हमें क्या करना है सबसे पहले हम ना गट की ऑफिशियल साइट पे जाएंगे तो इफ यू विल सर्च फॉर गट तो हमें ये एक वेबसाइट मिलेगी गट h एए सोर्स कंट्रोल management.com ओके तो अगर मैं इसके ऊपर क्लिक करता हूं तो यहां पे हम एक डेफिनेशन पढ़ते हैं पहले गट क्या होता है तो गट एक फ्री एंड ओपन सोर्स डिस्ट्रीब्यूटर वर्जन कंट्रोल सिस्टम है तो जैसा कि मैंने बताया दैट गट एक वीसीएस है तो ये है हमारा गट जिसको हम यूज़ करने वाले हैं तो अगर हमें गट के साथ वर्क करना है मुझे क्या करना होगा मेरी लोकल मशीन के अंदर सबसे पहले मुझे गिट को इंस्टॉल करना होगा ओके गट हब की बात नहीं कर रहा हूं गिट की बात कर रहा हूं ओके तो गिट को कैसे इंस्टॉल करते हैं बहुत इजी है यहां पर हमारे पास डाउनलोड का बटन आ रहा है सो यू कैन सी जैसे यहां पर मेरे पास आ रहा है डाउनलोड फॉर मैक यू कैन डाउनलोड इट फॉर wss4j बाइनरी डाउनलोड होगी उसको नेक्स्ट नेक्स्ट नेक्स्ट एप्ट इंस्टॉल करके यू कैन इंस्टॉल गट ऑन योर मशीन तो पहली रिक्वायरमेंट क्या है दैट मेरे पास एक लोकल मशीन है ओके तो यहां पर हम एक लैपटॉप के ले लेते हैं तो लेट्स से दैट ये मेरी एक लोकल मशीन है ओके तो इसको हम नाम देंगे लोकल मशीन एंड इस लोकल मशीन के ऊपर अगर मुझे वर्जन कंट्रोलिंग इनेबल करना है तो मुझे क्या करना होगा मुझे गट को इंस्टॉल करना होगा हमारी लोकल मशीन के अंदर तो वो कैसे करना है वो मैं ऑलरेडी बता चुका हूं ओके तो अगर मैं अपने टर्मिनल अगर मैं अपने डेस्कटॉप पे जाता हूं एंड मैं यहां पे टर्मिनल को ओपन करूंगा एंड मैं थोड़ा सा ज़ूम इन कर देता हूं सो दैट इट्स इजियर टू सी तो यह क्या है ये मेरा टर्मिनल है ओके तो हमें टर्मिनल को ओपन करना है एंड यहां पर मैं एक कमांड लिखूंगा गिट एंड एंटर जैसे मैं गिट एंड एंटर करता हूं यू कैन सी दैट मेरी स्क्रीन के ऊपर बहुत सारी चीजें प्रिंट हुई इसका क्या मतलब दैट यस मेरे मशीन के ऊपर मेरी लोकल मशीन के ऊपर गट इंस्टॉल्ड है एंड मैं सिमिलरली वर्जन भी देख सकता हूं से गट h v एंड एंटर तो यू कैन सी दैट मेरे पास कौन सा वर्जन है गट वर्जन 2.39 3 ओके एंड लेटेस्ट वर्जन क्या है लेटेस्ट वर्जन इज 2.43 तो कोई बात नहीं ओके जब तक हमारे पास वर्जन टू है हर चीज वर्क करेगी तो ये तो लाइक एक पैच वर्जन होता है तो डोंट वरी अबाउट दिस ओके तो मेरे पास है 2.3 अ 2.39 3 एंड यू कैन इंस्टॉल 2.43 या फिर जो भी वर्जन है सो बेसिकली ये टू होना चाहिए अगर ये थ्री हो जाता है तो थोड़ा सा प्रॉब्लमैटिक होता है बट ठीक है जब तक ये टू है मेजर वर्जन हमारा सेम है तब तक हम इस पर्टिकुलर ट्यूटोरियल को फॉलो कर सकते हैं सो विद दिस हमारा जो गिट है वो हो चुका है इंस्टॉल अब थोड़ा सा बेसिक्स देखते हैं गट सीआ का ओके अब वीडियो में आगे जाने से पहले मैं यहां पर एक बहुत ही कमाल की चीज दिखाना चाहता हूं जो है गट चीट शीट ओके तो इसका जो लिंक है वो तुम्हें डिस्क्रिप्शन में मिल जाएगा तो ये बेसिकली एक पूरी चीट शीट है जिसके अंदर हमारे पास हर यूज़फुल कमांड है गट की तो ये बहुत ही हैंडी होता है तो ये लिया है तो हमारा जो फर्स्ट स्टेप था वो हो चुका है कंप्लीट अब हम चलते हैं आगे अब हम क्या करेंगे थोड़ा सा सीएल आई के साथ प्ले करेंगे ठीक है तो सीएआई क्या होता है कमांड लाइन इंटरफेस तो जो भी हम इसके साथ इंटरेक्ट करते हैं ना टर्मिनल के साथ इसको कहा जाता है सीआई तो सबसे पहले हमारी जो होती है वो होती है सेटअप तो हम पहले क्या करेंगे हमारे गट को लोकली करेंगे सेटअप ओके तो अभी हम क्या कर रहे हैं हम बेसिकली सेटअप कर रहे हैं ग्लोबल कॉन्फिन तो इसका क्या मतलब है हम क्या कर सकते हैं हम गिट को बता सकते हैं दैट मेरा नेम क्या है मेरा ईमेल क्या है और मतलब मेरे बारे में क्यों देखो क्या होता है व्हेन यू आर वर्किंग इन अ बिग कंपनी हमारे पास बहुत सारी लाइंस ऑफ़ कोड है राइट तो जब मैं कंट्रीब्यूट कर रहा हूं इस कोड के अंदर लेट्स से मैंने यहां पर एक लाइन ऐड कर दी लेट्स से कॉस्ट और लेट्स से d इक्वल्स लेट्स से मैंने यहां पर ऐड कर दिया मेरा डेट ऑफ़ बर्थ 0101 2000 तो इससे क्या होगा यह पर्टिकुलर लाइन ओके यह पर्टिकुलर लाइन किसने लिखी यह पर्टिकुलर लाइन कौन लिख रहा है अ यह पर्टिकुलर लाइन लिखी है पियूष गर्ग ओके किसने जिसकी ईमेल आईडी क्या है प garg's नेम और लास्ट नेम डाल सकता हूं सो आई कैन से जैसे हम इसको कॉपी कर लेते हैं इस कमांड को यहां से तो मैं बोल सकता हूं गिट कॉन्फिन मैं गिट कॉन्फ़िग दिखाता हूं ओके तो यू कैन सी दैट जैसे मैंने इस कमांड को एग्जीक्यूट किया तो यह क्या आया पीयूष कर्क बिकॉज़ मेरी कमांड लाइन के अंदर ऑलरेडी ये कॉन्फिडेंट हम दोबारा से कंफिल कर सकते हैं तो मैं यहां पे बोल सकता हूं गट कॉन्फिन h ग्लोबल यूर ड नेम एंड आई कैन से पीयूष गर्ग सो दैट मींस जो भी मेरी लोकल मशीन है जो मेरी इस लोकल मशीन से जितने भी कमिट्स होंगे उसका डिस्प्ले नेम क्या आएगा पीयूष गर्ग आएगा एंड अगर हम इसको डिस्प्ले करना चाहते हैं यू कैन सी पयश गर्क सिमिलरली हम अपनी ईमेल को भी सेट कर सकते हैं सो गेट कॉन्ग h h गोल us.com तो मैं यहां पे सेटअप नहीं करूंगा तो यहां पे यू हैव टू एंटर योर ईमेल एंड जैसे ही हम इसको सेटअप कर लेंगे तो हमारे गट को हमारा जो गट सीआ है जो हमें अभी हमने इंस्टॉल किया था उसको पता है दैट मेरा यूज़र नेम क्या है और मेरी ईमेल आईडी क्या है तो इससे हम क्या कर सकते हैं इससे हम अपनी गिट कॉन्फ़िगरेशन सेटअप कर सकते हैं दैट सेट तो अ ये भी हम कर सकते हैं इफ यू वांट कलरिंग एंड ऑल सो यू कैन जस्ट कॉपी एंड पेस्ट इट तो इसको हम अभी स्किप कर रहे हैं तो इससे क्या हुआ मेरी जो गट की ग्लोबल कॉन्फ़िगरेशन है वो हो चुकी है सेट अप अब देखते हैं दैट गट के साथ हम वर्जन कंट्रोलिंग कैसे कर सकते हैं राइट सो कमिंग बैक तो मैं यहां पे क्या करूंगा मैं यहां पे कमांड के करूंगा या फिर क्लियर लिखूंगा जिससे क्लियर हो जाएगा टर्मिनल तो मैं यहां पे एक कोडिंग फोल्डर के अंदर जाऊंगा एंड मैं यहां पर एक डायरेक्ट्रीएंट्री का नाम होगा अ लेट्स से गेट अ क्रैश हान कोर्स तो यह मैं क्या कर रहा हूं एक फोल्डर बना रहा हूं एंड इस पर्टिकुलर फोल्डर के अंदर हम करेंगे सीडी एंड यहां पर मैं करूंगा कोड डॉट जिससे क्या होगा मेरा वीएस कोड ओपन हो जाएगा ओके सो जैसे मैंने कोड डॉट किया मेरा वीएस कोड हो जाना चाहिए ओपन सो यू कैन सी दैट यह हमारा वीएस कोड है जिसके अंदर एब्सलूट कुछ भी नहीं है राइट यह एक खाली फोल्डर है तो एक काम करते हैं इस पर्टिकुलर फोल्डर को हम अपने विंडो में भी ओपन कर लेते हैं बिकॉज़ कुछ चीजें हैं जो मैं आपको दिखाना चाहता हूं तो इसका नाम था गेट क्रश कोर्स सो हेयर इट इज़ तो यह मेरा वो फाइंडर में ओपन किया है लाइक विंडो एक्सप्लोरर या फिर फाइंडर तो यू कैन सी दैट ये एक खाली फोल्डर है राइट ये बिल्कुल ही एक खाली फोल्डर है तो यहां पर व्हाट आई विल डू इज पहले काम करते हैं एक कोड लिखते हैं छोटा सा कोई कोड लिखते हैं तो यहां पे मैं एक न्यू फाइल बनाऊंगा कोई भी लैंग्वेज में हो सकता है ठीक है तो जेएस होना जरूरी नहीं है कोई भी लैंग्वेज हो सकती है नॉट केएस जेएस तो ये कोई भी लैंग्वेज हो सकती है इट कैन बी सी इट कैन बी c+ प ये कोई टेक्स्ट फाइल भी हो सकती है ये एक जावास्क्रिप्ट फाइल भी हो सकती है तो बेसिकली कोई भी एक कोड फाइल है तो मैं यहां पर एक कोड लिखते हैं तो यहां पे हम लिखेंगे कंस्ट ए इक्वल्स लेट्स से 20 4 एंड दैट्ची फाइल है दैट इज index.js ओके जिसके ऊपर हम कुछ-कुछ तो चेंजेज कर रहे हैं राइट यू कैन सी index.js है कुछ कुछ चेंजेज कर रहे हैं लेकिन लेकिन गट इस कु ट्रैक नहीं कर रहा है राइट गिट इस पर्टिकुलर फोल्डर को ट्रैक कर ही नहीं रहा है बिकॉज मैंने गिट को बोला ही नहीं दैट ये एक गिट को इसको ट्रैक करो तो इस चीज को ट्रैकिंग करने के लिए बेसिकली गिट को इस पर्टिकुलर प्रोजेक्ट के लिए इनिश इज करने के लिए हमें क्या करना होगा हमें गिट को इनिश इइ करना होगा तो वो कैसे करते हैं हम अपना टर्मिनल ओपन करेंगे सो यू कैन सी दैट मेरा ये इंटीग्रेटेड टर्मिनल ओपन हो गया है एंड मैं इसको थोड़ा जूम इन कर लेता हूं फॉर बेटर क्लेरिटी ओके तो यहां पर हमें एक कमांड लिखना है दैट इज गेट हाइफ इट तो गिट इट क्या करेगा इट ये बेसिकली होता है गिट को इनिश इज करो कहां पर करंट डायरेक्टर के अंदर तो अभी मेरी करंट डायरेक्टरी क्या है गट क्रश कोर्स इसके अंदर मैं बोल रहा हूं गिट इन इट तो ये क्या करेगा जैसे मैं एंटर करूंगा इट सेज इनिश आइज एमटी गिट रिपोजिटरी इन यूजर्स पीयूष करर कोडिंग स्ल ये मेरा फोल्डर एंड डॉट गट कैन यू सी दैट इसने क्या किया एक डॉट गिट करके कुछ तो किया लेकिन अब जो मेरा ये प्रोजेक्ट है ना ये गिट के अंदर इनिश इइ हो गया है तो रिपोजिटरी क्या होता है रिपोजिटरी का मतलब होता है बेसिकली एक प्रोजेक्ट अब यह जो मेरा प्रोजेक्ट है ना ये इसके अंदर हमारा जो गिट है वो इनेबल हो गया है दैट मींस अब गिट इस पर्टिकुलर फोल्डर को कर रहा है ट्रैक सो जैसे मैंने ये कमांड एंटर किया कैन यू सी दैट यहां पर एक यू आया कैन यू सी दैट मेरे वीएस कोड के अंदर एक यू आया बिकॉज़ अब ये जो पर्टिकुलर ट्रैकिंग है ना वो इनेबल हो गई है ओके एंड एंड बिफोर प्रोसीडिंग फर्द मैं यहां पर एक चीज रिकमेंड करूंगा दैट कुछ अ एक्सटें एक्श है जो आप इंस्टॉल कर लो ओके तो यहां पे मैं दिखाता हूं दैट मेरे पास कौन-कौन सी है एक गिट ग्राफ करके ये एक एक्सटेंशन है तो इसको इंस्टॉल कर लेना ये बहुत अच्छी एक्सटेंशन है मैं बताऊंगा दैट इसका यूज़ क्या है बट गेट ग्राफ बाय दिस डेवलपर तो इसको जरूर इंस्टॉल कर लेना तो अभी मेरे को पता लग रहा है दैट इस फाइल के आगे ना यू लिखा आ रहा है इसका मतलब है अन ट्रैक्ड तो अभी क्या हो रहा है ये फाइल जो है ना ये ना हमारी अन ट्रैक्ड है बेसिकली गिट कह रहा है दैट तुमने ना एक इक्स जीए फाइल बनाई लेकिन ये अन ट्रैक्ड है इसको मैं ट्रैक नहीं कर रहा ओके ध्यान रखना दैट यह प्रोजेक्ट जो है ना वो तो गिट इनेबल्ड है लेकिन मैं इसको ट्रैक नहीं कर रहा तो वो ट्रैकिंग का क्या मतलब होता है वो मैं अभी बताऊंगा बट ठीक है अभी के लिए हम कंटिन्यू करते हैं तो यहां पर इंटरेस्टिंग हुआ क्या इफ यू सी दैट यहां पर ना एक डॉट गट का फोल्डर बन गया कैन यू सी डॉट गट का फोल्डर ये एक हिडन फोल्डर होता है ओके ये एक हिडन फोल्डर होता है इसको देखने के लिए यू कैन से एलएस हान ए ओके तो यू कैन सी दैट यहां पर ना एक डॉट गट का फोल्डर है एंड बाय डिफॉल्ट ये हिडन होता है तो इसको अनहाइड करने के लिए क होते है कमांड शिफ्ट एंड डॉट तो अगर मैं इसको ओपन करता हूं यू कैन सी दैट जितनी भी हमारी ट्रैकिंग है ना दैट ये ऑब्जेक्ट कैसे-कैसे चेंज हुआ वो सब ये इन फोल्डर में रखता है इस फोल्डर में रखता है तो इस फोल्डर को हमें छूना नहीं है ओके तो इसके अंदर सारी कॉन्फिन है दैट कैसे-कैसे ये हमारा जो ऑब्जेक्ट है वो चेंज हुआ कैसे-कैसे इक्ड जए फाइल चेंज होने वाली है तो वो सब इस डॉट गिट फोल्डर के अंदर रहने वाला है जिसको हमें कभी भी टच नहीं करना तो यहां पर एक हिडन फाइल है जिसको हम कहते हैं डॉट गट नॉट अ फाइल ये बेसिकली एक फोल्डर है तो इस फोल्डर को हम कभी भी छूते नहीं है तो अगर किसी भी प्रोजेक्ट के अंदर डॉट गट फोल्डर है इसका मतलब है गिट उसको ट्रैक कर रहा है एंड यहां पर वह सारी कॉन्फ़िगरेशन स्टोर करता है गुड अब बात करते हैं दैट अभी यह जो पर्टिकुलर फाइल है ये अन ट्रैक्ड है इसका मतलब है दैट इसको ट्रैक नहीं कर रहा तो मुझे इसको ट्रैकिंग इनेबल करना है मैं चाहता हूं index.js फाइल ट्रैक हो तो इसके लिए हम क्या करेंगे हम बोलेंगे गेट ऐड एंड मैं यहां पर अपनी फाइल का नाम दूंगा दैट इज़ index.js ओके तो जैसे मैं एंटर करूंगा इससे क्या होगा अब गट इस पर्टिकुलर फाइल को ट्रैक करना स्टार्ट कर चुका है यू कैन सी दैट ये जो पर्टिकुलर फाइल है अब ये ट्रैकिंग इनेबल हो चुकी है अब इसके अंदर अगर मैं कुछ भी चेंजेज कर रहा हूं तो वो ट्रैक हो रहे हैं स लेट्स से मैंने यहां पर किया नेम इक्वल्स पियूष गर्क कैन यू सी दैट क्या हुआ यहां पर यहां पर एक ग्रीन कलर की लाइन आ रही है कैन यू सी इसका क्या मतलब है दैट मैंने कुछ ऐड किया एक और चीज ऐड करते हैं लेट्स से कंस्ट d इक्वल्स 01 ओके तो 0101 अ 01 2000 तो यहां पर ये क्या और रहा ट्रैक कर पा रहा है दैट मैं ना कुछ एडिशंस कर रहा हूं करेक्ट ये एडिशंस है ठीक है अगर मैं एमटी लाइंस भी एंटर कर रहा हूं बेसिकली ये ट्रैक हो रहा है दैट मैं कुछ ऐड कर रहा हूं तो यहां पे मैं क्लिक करके देख सकता हूं दैट ठीक है ये लाइन ट्रैक हो रही है सो यू कैन सी दैट किस तरह से गिट ट्रैक कर रहा है अच्छा अगर मैं कुछ रिमूव करता हूं तो वो मुझे एक रिमूवल का भी बताएगा दैट कुछ चीज रिमूव हो रही है ओके तो बेसिकली गिट जो है वो मेरी इंडेक्स जए फाइल को ना ट्रैक कर रहा है एंड मैं यहां पर एक कमांड लिखूंगा गट डिफ एंड एंटर सो यू कैन सी जैसे ही मैंने कमांड लिखी गट डिफ क्या हुआ यहां पर वो मुझे बता रहा है दैट हमारी ना जो इक्सड जए फाइल है ना इसके अंदर ना ये दो लाइने ऐड हुई है कैन यू सी दिस प्लस दैट ये दो लाइने क्या हुई है ऐड हुई है राइट तो दैट्ची नेम इज बेसिकली जो भी मेरा नेम है तो उसको हम कंकट ट कर सकते हैं नेम के साथ ओके एंड यहां पर एक स्पेस दे देते हैं तो अगर मैं इसको वापस से गिट डिफ की कमांड करता हूं यू कैन सी दैट ये चीजें ऐड हुई है तो गेट बेसिकली उसको ट्रैक कर रहा है तो ऐड कैसे करते हैं तो यहां पर हमारे पास एक था ऐडिंग फाइल्स टू वीसीएस हम कैसे करते हैं तो यहां पे मैं नोट्स ऐड करता हूं तो हम क्या करते हैं हम बोलते हैं गेट ऐड एंड उसके बाद हम यहां पर बोलते हैं फाइल का नेम या फाइल का पाथ मैं नेम नहीं बोलूंगा मैं यहां पे बोलूंगा फाइल का पाथ तो उससे हम क्या कर सकते हैं उन फाइल्स के लिए गेट को इनेबल कर सकते हैं कि इन फाइल्स को ट्रैक करो लेट्स से अगर मैंने यहां पर एक और फाइल बनाई script.js ओके script.js तो अभी यह जो पर्टिकुलर फाइल है ही अन ट्रैक्ड है बिकॉज़ ठीक है ना मैंने उसको गिट में ऐड ही नहीं किया राइट तो अगर मैं यहां पे कुछ भी लिखता हूं लेट्स से मैंने यहां पर एक फंक्शन लिखा से हेलो तो ये पर्टिकुलर जो फाइल है ये गट के अंदर ट्रैक्ड नहीं है तो इसको हम कैसे ऐड कर सकते हैं सेम कमांड मैं क्या बोल सकता हूं मैं यहां पे बोल सकता हूं गट ड एंड देन script.js बट इसमें प्रॉब्लम क्या है यू माइट बी वंडरिंग दैट रियलिटी में क्या होगा ना हमारे पास ना बहुत सारी फाइल्स होंगी करेक्ट हमारे पास बहुत सारी फाइल्स होंगी एंड हर फाइल को गट ऐड करना पॉसिबल नहीं है बिकॉज़ हो सकता है ना रियलिटी में क्या होगा यू विल हैव अ फोल्डर ए लेट्स से हमारे पास एक फोल्डर ए है फोल्डर ए के अंदर कुछ फाइल्स हैं फिर फोल्डर बी के अंदर कुछ फाइल्स हैं फिर हमारे पास और भी बहुत सारी फाइल्स हैं तो हर फाइल को गिट ऐड करना पॉसिबल नहीं है तो उसके लिए हम बोल सकते हैं गट ऐड डॉट तो यह क्या करता है बेसिकली सारी की सारी फाइल्स को ऐड कर देता है तो मैं यहां पे क्या कर सकता हूं लेट लेट से एक स्क्रिप . जए है एक हम काम करते हैं कि हम यहां पे फोल्डर बना लेते हैं यूल्स का एंड इसके अंदर भी मैं एक फाइल बना लेता हूं यूल जए लेट्स से एंड इसके अंदर हम एक फंक्शन बना लेते हैं ऐड का सो फंक्शन ऐड a एंड b एंड यहां पर मैं बोल सकता हूं console.log a या फिर हम इसको रिटर्न कर लेते हैं सो रिटर्न a + b तो अब मैं क्या कर सकता हूं या तो मैं इनको मैनुअली ऐड करूं या फिर मैं सिंपल बोलूंगा गेट ड डॉट एंटर ये क्या करेगा जितनी भी फाइल्स हैं इस पर्टिकुलर डायरेक्टरी के अंदर सभी को ऐड कर लेगा सो गट ड डॉट क्या करता है जितनी भी फाइल्स हैं सभी को सभी वर्जन कंट्रोलिंग के अंदर ऐड कर लेता है एंड सभी फाइल्स के ऊपर ही क्या करता है गिट की जो वर्जनिंग है उसको वो इनेबल कर देता है तो अब मैं इनको ट्रैक कर पा रहा हूं ओके तो अभी मैं क्या कर पा रहा हूं मैं इनको ट्रैक कर पा रहा हूं तो यू कैन सी ऑल दी फाइल्स आर ट्रैक्ड गुड एंड मैं इनको यहां पर भी देख सकता हूं हम यहां पे ये गिट का है सो यू कैन सी दैट वीएस कोड के अंदर इंटीग्रेटेड वो दिखा रहा है दैट ये सारे चेंजेज हैं आपके तो इक्स जीए के अंदर चेंजेज हैं स्क्रिप्ट के अंदर चेंजेज है यूल के अंदर चेंजेज हैं तो मतलब वीएस कोड का ये एक फीचर है ओके तो इनको हम रिमूव करते हैं तो डिंग तो हमें समझ आ गया हम फाइल्स को ऐड कर सकते हैं सिमिलरली हम रिमूव भी कर सकते हैं तो रिमूव कैसे कर सकते हैं गेट आरएम एंड उसके बाद सिमिलरली फाइल का पाथ ओके अगर मुझे कोई फाइल को मैंने गलती से ऐड कर लिया बट मुझे उसको ट्रैक नहीं करना था तो हम गेट रिमूव कर सकते हैं तो अब हमें यह तो समझ आ गया दैट एक वर्जन कंट्रोलिंग काम कैसे करता है दैट एक वर्जन कंट्रोलिंग हो रहा है हमारे पास कुछ फाइल्स थे फोल्डर्स थे मैंने उसको गिट में ऐड कर लिया अब बात करते हैं दैट इनकी जो चेंज चेंजेज है ओवर टाइम राइट ओवर टाइम की मैं बात कर रहा हूं टाइमलाइन के ऊपर जैसे आज इस कोड की स्टेट ये है घंटे बाद क्या होगी उसके बाद अगले दिन क्या होगी उसको हम कैसे ट्रैक कर सकते हैं उस चीज के बारे में अब हम बात करते हैं ओके तो यहां पर हम बात करने वाले हैं समथिंग नोन एज कमिट ओके ये बहुत इंपॉर्टेंट चीज है गेट के अंदर कमिट्स कमिट क्या होता है बेसिकली अगर मैं अपनी वापस इस वाली एग्जांपल पे आता हूं राइट ये वाली एग्जांपल पे जिसमें हमारे पास क्या था हमारे पास ये ये पहली स्टेज थी ये दूसरी स्टेज थी एंड ये हमारे पास तीसरी स्टेज थी ये बेसिकली जो ये तीन चेंजेज हुए लेट्स से ये चेंज हुआ इनिशियली घंटे बाद ये हुआ और अगले दिन ये हुआ इन तीनों को कहा जाता है कमिट्स इन तीनों को क्या बोला जाता है इन तीनों को बोला जाता है कमिट तो बेसिकली ये क्या है ये एक कमिट है बेसिकली ये भी क्या है ये एक कमिट है और उसके बाद ये भी क्या है ये भी एक कमिट है तो बेसिकली हम क्या करते हैं जब भी हम अपने कोड के अंदर कुछ चेंजेज करते हैं जब हमें लगता है दैट वो एक चेंजेज हमारे कंप्लीट हो गए हैं हम उसको कमिट करते हैं ओके तो इन ब्लॉक्स को क्या बोला जाता है इनको बोला जाता है कमिट सो अगर मैं इसको कॉपी करता हूं तो बेसिकली इसका क्या मतलब है इसका मतलब है दैट ये एक कमिट है ओके कमिट तो जब भी हम अपने कोई चेंजेज करते हैं हम उनको कमिट करते हैं ओके कमिट तो मैं दिखाता हूं कैसे लेट्स से मैं वापस आता हूं अभी जो मेरा कोड है ना लेट्स से ये मेरा इनिशियल कोड है जितना भी मेरा अभी जो तुम कोड देख रहे हो ये सारा क्या है ये मेरा लेट्स से इनिशियल कोड है तो लेट्स से मैं क्या करूंगा अभी जितना भी कोड है हम उसका एक कमिट बनाएंगे तो हम कैसे करते हैं हम बोलते हैं गेट ड डॉट ठीक है सब कुछ ऐड हो ही गया हम यहां पर बोलेंगे गेट कमिट ओके मुझे कमिट करना है एंड हर कमिट का एक यूजर फ्रेंडली मैसेज होता है ओके क्या होता है दिखाता हूं मैं यहां पे बोलूंगा गेट कमिट ओके एंड मैं यहां पर बोलूंगा हान एम मैसेज मैं यहां बोलूंगा इनिशियल कुछ भी लिख सकते हैं ठीक है कोड्स के अंदर कुछ भी इनिशियल कमिट वेयर अ या फिर इसको थोड़ा छोटा रखता है इनिशियल कोड एडिट तो कुछ भी मैंने एक नाम दे दिया एंड मैं कर दूंगा यहां पर एंटर तो अभी क्या हुआ बेसिकली मेरा एक कमिट बन गया ओके तो अभी क्या हुआ मेरा एक कमिट ऐसा बना तो यह हमारा एक कमिट है ठीक है हर कमिट का एक मैसेज होता है ओके हर कमिट का एक मैसेज होता है तो अभी हमने मैसेज क्या दिया था इनिशियल कोड डेड कॉपी करते हैं तो यह मेरा एक कमिट है ओके तो इसको हम थोड़ा छोटा कर लेते हैं इनिशियल कोड एडेड एंड इस पर्टिकुलर पॉइंट ऑफ टाइम पे जो मेरे कोड की स्टेट है वो क्या है मेरे पास ये मेरी स्टेट है मेरे पास index.js फाइल है मेरे पास क्रिप्ट जए फाइल है एंड यल . जए फाइल है सो ये मेरा हो चुका है इनिशियल कमिट एंड यहां पर यू कैन इवन सी 35 सेकंड्स अगो पीयूष ने क्या किया इनिशियल कोड ऐड किया ठीक है सो यू कैन सी दैट हर लाइन के ऊपर मैं देख पा रहा हूं दैट किसने ये कोड ऐड किया है सो पीयूष ने ड किया क्यों बिकॉज़ मैंने गिट कॉन्फरल दी थी सो यू कैन सी दैट ये हमारा हो गया एंड मैं यहां पर क्या कर सकता हूं मैं यहां पर कर सकता हूं गिट लॉग एंड एंटर सो यहां पर हम अपने कमिट्स की हिस्ट्री देख सकते हैं सो यू कैन सी हमारे पास एक कमिट है हर कमिट की एक आईडी होती है हर कमिट की एक आईडी होती है तो इस कमिट की आईडी क्या है इस कमिट की ये एक आईडी है एंड इस कमिट का एक मैसेज क्या है इनिशियल कोड डेड ठीक है तो ये इनिशियल कोड डेड किसने किया पियूष गर्ग ने किया जिसकी ईमेल आईडी ये है यह कहां से उठा रहा है हमारी कॉन्फ़िगरेशन से और इसने कब किया कब किया सैटरडे जान 20 इस टाइम पर किया बहुत बढ़िया बहुत बढ़िया तो यह मेरा एक कमिट बन गया ठीक है अब हम कुछ चेंजेज करते हैं अपने कोड के अंदर तो मैं क्या करूंगा मैं यहां पर एक फंक्शन ऐड करूंगा ठीक है तो यहां पर एक फंक्शन ऐड करते हैं सो यहां पर हम बोलते हैं फंक्शन एंड आई विल से कैलकुलेट अ ओके आई विल से इज अबब 18 ओके इज अबब 18 एंड यहां पर हम ट र्न करेंगे रिटर्न ए शुड बी ग्रेटर दन और इक्वल टू 18 तो ये मैंने एक फंक्शन ऐड किया सबसे पहले तो कैन यू सी दैट ये ग्रीन लाइन आ रही है यहां पर दैट मींस ये कुछ ऐड हुआ तो अगर मैं यहां पे गिट डिफ करता हूं सो यू विल सी दैट index.js के अंदर हमने क्या किया हमने ये चीज ऐड की ओके एंड लेट्स से मैं यहां पर ना जो ये नेम है इसको भी थोड़ा सा चेंज करते हूं इसको नेम वन कर लेते हैं एंड इसको नेम वन कर लेते हैं तो अब देखते हैं गेट डिफ करके क्या आ रहा है तो गेट डिफ करके क्या आ रहा है देखो मैंने ने क्या किया मैंने यह वाला कोड रिमूव कर दिया एंड उसकी जगह यह वाला कोड ऐड कर दिया तो यानी कि नेम को नेम वन कर दिया बहुत बढ़िया एंड मैंने क्या किया मैंने यहां पर नेम वाली लाइन हटा दी उसको नेम वन कर दिया एंटर एंटर एंटर करते हैं एंड ये वाला फंक्शन ऐड कर दिया तो यू कैन सी दैट क्लियर यूजिंग वीसीएस यूजिंग गिट वर्जन कंट्रोल सिस्टम मैं देख पा रहा हूं दैट मेरा जो चेंज है वो कैसे-कैसे चल रहा है बहुत बढ़िया अब हम क्या करेंगे अब हम इसको कमिट करेंगे हमने चेंजेज कर लिए अब हम इसको कमिट करेंगे तो हम करेंगे गेट ड डॉट सॉरी गेट ड डॉट ओके तो गेट ऐड कर लिया फाइल्स को तो अब मैं बोलूंगा गेट कमिट तो पहले हमें ऐड करना होता है ठीक है बिकॉज़ हमने फाइल को चेंज किया था गेट ऐड किया अब हम करेंगे गिट कमिट हाइफ एम एंड आई विल से एडेड इज अबब इज अबब 18 फंक्शन तो कुछ भी एक फ्रेंडली सा नेम ओके एंड उसके बाद हम कर हमने कर दिया कमिट अब क्या हुआ अगर मैं यहां पर वापस से गिट लॉग करके एंटर करता हूं सो यू कैन सी दैट पहले हमारा कोड ये था उसके बाद मैंने क्या किया मैंने यह वाला कोड ऐड कर दिया बहुत बढ़िया तो अब क्या हुआ मेरा एक और कमिट बन गया मेरा एक और कमिट बन गया ओके सो यानी कि एक और कमिट बना इस कमिट का मैसेज क्या है एडेड 18 अबब फंक्शन ठीक है एंड इस कमिट की भी एक आईडिया है इसको भी हम कर लेते हैं कॉपी एंड इसको भी हम कर लेते हैं पेस्ट तो अभी क्या हो रहा है मेरा जो बेसिकली कोड है वो इस कमिट से इस कमिट में कर चुका है ट्रांजेक्शन एंड मैं सारे चेंजेज को देख सकता हूं दैट कैसे-कैसे कितने बजे क्या-क्या चेंज हुआ ओके बहुत बढ़िया तो अगर मैं अपनी गिट चीट शीट प जाता हूं एंड हम यहां पे गिट इट हमने देख हम गिट इट को तो देख चुके हैं तो अगर मैं थोड़ा सा और नीचे जाता हूं तो हम क्या कर सकते हैं हम देख सकते हैं तो यहां पे यू कैन सी दैट हमने अभी गिट लॉग को कवर कर लिया है तो गिट लॉग से हम लॉग्स देख सकते हैं एंड इवन आई कैन से गिट लॉग हान हान 1 लाइ तो इससे क्या होगा थोड़ा सा नीट आएगा सो यू कैन सी दैट इतना बड़ा-बड़ा नहीं आ रहा बेसिकली छोटा करके आ रहा है दैट ये हुआ एंड ये हुआ ओके सो गिट लॉग हान हाइन वन लाइन से बेसिकली हम थोड़ा सा लॉक छोटे करके देख सकते हैं अगर हम वन लाइन नहीं लगा गाएंगे तो बेसिकली ये पूरी डिटेल इंफॉर्मेशन देता है तो गिट लॉग हम कर सकते हैं ओके तो हमने गिट लॉग को देख लिया है अब हम देखते हैं गिट शो देखो अगर मैं वापस अपने सीआई पे आता हूं एंड मैं यहां पर बोलता हूं गिट लॉग ओके एंड एंटर सो यू कैन सी दैट ये मेरे लॉग्स हैं राइट ये मेरे लॉग्स हैं एंड ये हमारा कमिट शा है ओके एसए ए है ये हमारे गिट की आईडी है हमारे कमिट की आईडी है एक काम करते हैं अगर मैं यहां पर करता हूं गट लॉग h h 1ला तो ये बेसिकली क्या करता है मेरा जो ये गट आईडी है ना उसको छोटा कर देता है छोटा कैसे करता है बेसिकली उसके सिर्फ इनिशियल कैरेक्टर्स को उठाता है यू कैन सी दैट इसने a2 तक उठाया दैट मींस इतने कैरेक्टर से भी हम अपना काम कर सकते हैं अब देखो मैं क्या कर सकता हूं मैं यहां पर एक कमांड लिखूंगा गिट शो एंड उसके बाद लेट्स से हम इस कमिट की आईडी कॉपी कर लेते हैं एंड यहां पर करेंगे पेस्ट एंड इंटर तो ये मुझे बताएगा दैट इस पर्टिकुलर कमिट के अंदर क्या-क्या चेंजेज हुए ठीक है इस कमिट के अंदर ये ये चेंजेज हुए एंड उसके बाद मैं क्या कर सकता हूं मुझे बेसिकली ये पूरा फाइल का दिखा रहा है क्या-क्या चेंजेज है एंड अगर मैं वापस से गिट लॉक करता हूं एंड इसको कॉपी करता हूं एंड मैं यहां पर कर करता हूं गेट शो एंड उसके बाद हमारा जो मैसेज है कमिट आईडी है तो ये मुझे बताएगा दैट किस कोड के अंदर क्या-क्या चेंजेज हुए किस कमिट के ऊपर तो इससे मैं पूरा विजुलाइज कर सकता हूं दैट किस तरह से किस कमिट के अंदर क्या-क्या चेंज हुआ तो दैट इज द बेनिफिट एंड एक और बहुत अच्छी कमांड है जब हम गिट को यूज़ करते हैं तो यहां पे मैं एक बार सर्च करता हूं इफ इट इज देयर ओके यहां पे नहीं है तो हम क्या कर सकते हैं हम यहां पे बोल सकते हैं गिट ब्लेम ओके गिट ब्लेम तो गिट ब्लेम कैसे काम करता है हमें बोलना होता है गिट ब्लेम एंड फाइल का नेम सो लेट्स से गेट ब्लेम index.js एंड एंटर तो ये मेरे को क्या कर रहा है यह मेरे को ना लाइन बाय लाइन दिखा रहा है दैट कौन सा कोड किसने किस ऑथर ने कितने बजे चेंज किया बेसिकली मैं ब्लेम कर सकता हूं दैट ये पर्टिकुलर लाइन ऑफ कोड किसने चेंज किया ये पर्टिकुलर लाइन ऑफ कोड किसने ऐड किया तो जब हमारे पास एक बहुत बड़ा प्रोजेक्ट होता है हम गेट ब्लेम एंड फाइल का नाम देख के देख सकते हैं दैट कौन सी लाइन कितने बजे किस यूजर ने ऐड किया एंड किस कमिट में आया वो ओके तो इसकी की कमांड क्या होती है गेट ब्लेम फाइल का फाइल का पाथ सिमिलरली हम बोल सकते हैं यल्स . j तो हमारे पास इसका गेट ब्लेम आ जाएगा तो दैट मींस टलज के अंदर अगर मैं यहां पे होवर कर रहा हूं यू कैन सी दैट ये क्या है ये बेसिकली ब्लेम कर रहा है ठीक है तो ब्लेम से हम देख सकते हैं दैट कौन सी लाइन ऑफ़ कोड किसने कितने बजे चेंज की तो ये है गेट ब्लेम तो अभी हमें क्या-क्या कमांड्स पता है तो अगर हम अपने कैनवास अ हमारे फाइल्स में वापस आते हैं तो हम कमिट कैसे करते हैं हम हम कमांड यूज़ करते हैं तो यहां पे मैं कमांड लिख देता हूं ओके तो यहां पे हम बोलते हैं गेट कमिट हान m एंड उसके बाद हमारा जो भी कमिट का मैसेज है ओके तो हम इस तरह से क्या कर सकते हैं हम अपना मैसेज देख सकते हैं ओके तो एक काम करते हैं एक और कमिट करते हैं तो अगर मैं index.js प वापस आता हूं इस कोड को हटा देता हूं एंटर तो गट ड डॉट गट कमिट हान m रिमूव ओके रिमूव अ 18 फंक्शन जो भी हमारा कमिट मैसेज है एंड उसके बाद अगर मैं गट लॉक करता हूं तो अब क्या होगा अब हमारे पास तीन कमिट्स हैं ओके तो ये हमारा कमिट बना तो बेसिकली मैंने क्या किया इस कमिट से मैंने क्या किया एक और कमिट बना लिया ओके मैंने एक और कमिट बना लिया तो मेरा इस पर्टिकुलर कमिट के बाद ये वाला कमिट बना एंड उसके बाद इस कमिट की हमारी ये क्या है ये हमारी है आईडी है तो इसको हम कर लेते हैं कॉपी एंड उसके बाद हमारा जो मैसेज है वो क्या है रिमूव 18 फंक्शन एंड किसने किया ऑथर भी हमारे पास आ रहा है तो इस चीज को क्या बोलते हैं इस चीज को हम बोलते हैं कमिट्स ओके तो हमें ना जो ये कमिट्स होते हैं ना इनको बेटा क्लीन रखना चाहिए ओके अगर कमिट्स को क्लीन रखोगे तो हमारा जो वीसीएस है वो अच्छा होगा क्लीन रखने का मतलब क्या होता है यूजुअली जो नए स्टूडेंट्स होते हैं वो क्या करते हैं पूरा पूरा कोड ओके पूरा पूरा कोड एक ही कमिट में डाल देते हैं तो उससे क्या है उससे ट्रैकिंग खराब होती है तो ऐसा नहीं करना चाहिए बेसिकली हमें एक फंक्शनैलिटी पे काम करना चाहिए कमिट करना चाहिए फिर दूसरी फंक्शनैलिटी पे कमिट करो उसका अलग कमिट बनाओ फिर तीसरी फंक्शनैलिटी पे काम करो अलग कमिट बनाओ सारा का सारा कोड एक ही कमिट में पुश नहीं करना चाहिए तो बेसिकली एक्सपीरियंस के साथ समझ आएगा दैट एक क्लीन कमिट हिस्ट्री किस तरह से हम मेंटेन कर सकते हैं ओके सो दिस इज समथिंग जो मैं हाईली रिकमेंड करूंगा ओके तो कमिट्स हमारा बहुत अच्छे से कवर हो गया है अब बात करते हैं दैट स्टेजिंग एरिया क्या होता है ठीक है तो थोड़ा सा इंटरनल जाते हैं दैट स्टेजिंग एरिया क्या होता है तो इसको हम स्टेजिंग एरिया की बात करते हैं तो बेसिकली लेट्स से दैट अभी जो मेरी फाइल्स है ओके जैसे मेरी फाइल है मैंने यहां पर कुछ चेंजेज किए फंक्शन एंड मैंने यहां पर कुछ फंक्शन चेंज ऐड कर दिया अ न्यू फंक्शन ठीक है एंड ये फंक्शन क्या करता है कसोल डलॉग बोलता है कसोल डलॉग हे आई एम आई एम अ न्यू फंक्शन ठीक है तो अभी अगर मैं यहां पर अपने सील आई पे आता हूं एंड मैं यहां पर गेट डिफ करता हूं ओके गेट डिफ करता हूं डिफ इफ आई कैन राइट दैट करेक्टली तो यू कैन सी दैट मैंने index.js के अंदर बेसिकली ये फाइल को ऐड किया है ठीक है कोई प्रॉब्लम नहीं है बहुत सिंपल है द थिंग इज अगर मैं अपने ट्रैकिंग में जाता हूं मैं यहां पर क्या कर सकता हूं मैं यहां पर एक कमांड लिख सकता हूं गेट स्टेटस एंड एंटर तो ये मेरे को क्या बता रहा है गट स्टेटस बता रहा है दैट ये एक मॉडिफाइड फाइल है ठीक है गट स्टेटस से ना मुझे पता लगता है दैट मेरे लोकली क्या चेंजेज हुए ओके लेट्स से मैंने इक्सड जए में चेंज कर दिया मैं यहां पर भी एक चेंज कर देता हूं इसको ना मैं b की जगह इसको मैं नम टू बोल देता हूं एंड इसको मैं नम टू कर देता हूं ओके अब अगर मैं गिट स्टेटस करूंगा तो ये मुझे बता रहा है दैट एक तो ये फाइल मॉडिफाई हुई है और एक ये फाइल मॉडिफाई हुई है तो मतलब कि गिट स्टेटस से मुझे पता लग रहा है दैट इस कमिट के बाद यह दो फाइल्स हैं जो मॉडिफाई हुई हैं ओके तो यहां तक तो मेरा कमिट है ही एंड ये मेरा क्या है ये मेरा वर्क इन प्रोग्रेस है ये दो दो फाइल्स मेरी क्या हुई है ये दो फाइल्स मेरी चेंज हुई है अब हमें क्या करना है अगर मैं इस पर्टिकुलर पॉइंट ऑफ टाइम पे गिट कमिट करूंगा तो कुछ भी नहीं होगा ओके अगर मैं गेट कमिट करूंगा तो कुछ भी नहीं होगा क्यों बिकॉज़ कुछ चेंजेज ही नहीं है कमिट करने को ओके क्यों बिकॉज़ मेरा जो स्टेजिंग एरिया है ना मेरा जो स्टेजिंग एरिया है वो अभी खाली है ओके तो लोकली एक स्टेजिंग एरिया होता है बताता हूं क्या होता है वो भी खाली है मेरे पास लोकल मशीन के ऊपर ये दो फाइल्स मॉडिफाइड हैं एंड मेरा स्टेजिंग एरिया क्या है मेरा जो स्टेजिंग एरिया है वो है अभी खाली तो अगर मैं इस पर्टिकुलर पॉइंट ऑफ टाइम पे गिट कमिट करता हूं कुछ भी लेट्स से ए बी सी एंड एंटर यू कैन सी कुछ भी नहीं हो रहा है तो हमें क्या करना होता है सबसे पहले इन फाइल्स को जब हम मॉडिफाई करते हैं जो भी चेंज करते हैं इन फाइल्स को हमें अपने स्टेजिंग एरिया के अंदर ले जाना होता है तो वो हम कैसे लेके जाते हैं वो हम बोलते हैं गट ऐड की कमांड से ओके तो गट ऐड हम इंडिविजुअल फाइल्स को भी ऐड कर सकते हैं लेट्स से मुझे सिर्फ index.js को ऐड करना है तो मैं बोलूंगा गेट ड index.js इससे क्या हुआ सिर्फ और सिर्फ मेरी जो index.js फाइल थी वो मेरे स्टेजिंग एरिया में आ गई ओके तो अगर मैं वापस जा हूं यू कैन सी दैट ये मेरा जो स्टेजिंग एरिया है जो मेरा स्टेज चेंजेज है वो है index.js और जो मेरे लोकल चेंजेज है उसमें यूल . जए है तो गेट स्टेटस करते हैं एक बार गेट स्टेटस एंटर सो यू कैन सी सी दैट जो चेंजेज मेरे स्टेजिंग में है वो यह वाले हैं जो चेंजेज मेरे स्टेजिंग में नहीं गए वो ये वाले हैं अब अगर मैं गिट कमिट कमांड का यूज़ करता हूं तो मैं एक गेट कमिट करता हूं दैट अ यू नो ए बी सी कमिट ठीक है कुछ भी एक नेम तो ये कमांड क्या करेगी सिर्फ और सिर्फ जो मेरे चेंजेज स्टेजिंग एरिया के अंदर है उनको कमिट करेगी ओके एंटर करता हूं अब अगर मैं अपना गेट लॉग करता हूं सो व्हाट डू यू सी दैट ए बी सी कमिट है एंड ए बी सी जो कमिट बना ओके तो अभी क्या हुआ इसको एक मिनट साइड पे करते हैं तो इस पूरी चीज़ को हम यहां पे साइड पे करते हैं तो अभी हमने एक और कमिट बना लिया ओके एक और कमिट बन गया इस कमिट का टाइटल क्या है एबीसी कमिट ठीक है तो इसको हम यहां पे लिख लेते हैं इस कमिट की जो आईडी है वो क्या है इसको भी हम कॉपी कर लेते हैं यहां पे कर लेते हैं पेस्ट एंड ये हमारा बन गया एक कमिट इस कमिट के अंदर सिर्फ और सिर्फ index.js फाइल है तो अगर मैं यहां पे गिट शो कमांड का यूज़ करता हूं तो गेट शो एंड उसके बाद हम यहां पे कमिट आईडी को यहां से कॉपी कर लेते हैं तो कुछ कैरेक्टर्स उठा लेते हैं एंड यहां पे हम करते हैं पेस्ट सो यू कैन सी दैट सिर्फ और सिर्फ index.js फाइल गई ठीक है तो हमारा स्टेजिंग एरिया हो गया खाली सो यू कैन सी रिफ्रेश स्टेजिंग एरिया हो गया खाली अब मैं क्या कर सकता हूं गेट ड डॉट वापस करते हैं डॉट का मतलब होता है सब कुछ तो मतलब कि अब मेरे जितने भी मॉडिफाइड चेंजेज हैं सभी के सभी मैं वापस स्टेजिंग में ले आया अब मैं उनको वापस कमिट कर सकता हूं तो हम बोल सकते हैं गेट कमिट हाई फन एम चेंजेज इन अ ये क्या है यूल ओके तो जो भी हमारा मैसेज है एंड अब अगर मैं गेट लॉक ता हूं तो अब मेरा ये भी हो गया तो बेसिकली मैंने क्या किया दो चेंजेज के अंदर उसको कमिट किया दो कमिट्स के अंदर उसको चेंज किया ओके तो इसने क्या किया स्टेजिंग एरिया से कमिट कर दिया मेरा एक और कमिट बना तो यह हमारा एक और कमिट आ गया एंड इस कमिट के बाद यह हमारा कमिट है जिसके अंदर हमने क्या किया हमारी यूल फाइल को चेंज किया तो ये हमारा आ गया यूल एंड ये इसकी आ गई आईडी तो इस तरह से हमारा एक स्टेजिंग एरिया होता है तो गेट ऐड करने से स्टेजिंग एरिया में जाता है एंड अगर हम गिट ऐड डॉट करते हैं तो जितनी भी फाइल्स मॉडिफाइड होंगी सभी के की सभी स्टेजिंग एरिया में आ जाएंगी बट अगर आप सिर्फ पर्टिकुलर फाइल को कमिट करना चाहते हो तो आप वो भी कर सकते हो तो ये होता है स्टेजिंग एरिया ओके तो हमेशा पहले फाइल हमारे लोकल चेंजेज में आती है फिर वो स्टेजिंग में जाती है तो इट्स लाइक मॉडिफाइड टू स्टेजिंग टू फिर उसके बाद हम उसका एक कमिट बनाते हैं तो इस तरह से वो फ्लो रहता है ओके तो ये गिट का फ्लो है तो आ आई होप दैट ये भी हमारा बहुत अच्छे से क्लियर हो गया होगा ओके तो यहां पे गिट ड डॉट की कमांड सो डोंट वरी ये जो रड आ का जो लिंक है पूरे जो मैं बना रहा हूं इसका लिंक डिस्क्रिप्शन में मिल जाएगा सो आपके लिए विजुलाइज करना इजी हो ओके तो स्टेजिंग एरिया भी हमें समझ आ गया लॉगिंग भी हमें पता है तो लॉगिंग कैसे करते हैं गिट लॉग की कमांड से तो वो भी हमने देख लिया या तो हम गेट लॉग कर सकते हैं या फिर हम कर सकते हैं गेट लॉग हाई फन हाई फन वन लाइन अगर मुझे सारे लॉग्स वन लाइन में चाहिए अब बात करते हैं रिवर्टिंग बैक की रिवर्ट बैक क्या होता है ओके रिवर्ट बैक ये बहुत कमाल की चीज है देखो जब हम वर्जन कंट्रोलिंग सिस्टम कर रहे हैं बेसिकली मेरे पास एक मैकेनिज्म होना चाहिए दैट अगर कुछ गलत हो जाता मैं कभी भी उसको रिवर्ट कर सकूं राइट मैं कभी भी हिस्ट्री में वापस जा सकूं तो इस चीज को कहते हैं रिवर्ट करना लेट्स से मेरा यह ये बिल्ट सक्सेसफुल हुआ ये बिल्ट भी सक्सेसफुल हुआ ये भी कोड सही चल रहा है यहां पर भी सही चल रहा है मुझे पता लगता है यार यहां पे कुछ चेंजेज हुए जिसके कारण मेरा कोड फट गया जिसके कारण मेरा कोड खराब हो गया तो टेक्निकली मेरे पास कुछ तो मैकेनिज्म होना चाहिए ना कि मैं वापस जा पाऊं तो उस चीज को क्या कहते हैं उस चीज को कहते हैं रिवर्टिंग बैक तो हम रिवर्ट कैसे कर सकते हैं तो बेसिकली रिवर्ट बैक करने के लिए हमारे पास कमिट्स का ही काम आता है तो अगर हमारे कमिट अच्छी है तो हमें रिवर्ट बैक करने में कोई भी प्रॉब्लम नहीं होगी ओके तो इसको देखते हैं रिवर्टिंग बैक क्या होता है तो सबसे पहले इस चीज को अंडरस्टैंड करने के लिए हमें एक चीज अंडरस्टैंड करना होगा हेड हेड क्या होता है ओके हेड क्या होता है बचपन में हमने एक चीज पढ़ा होगा लिंक्ड लिस्ट ओके लिंकड लिस्ट लिंक लिस्ट क्या होता था लिंक लिस्ट बेसिकली एक डेटा स्ट्रक्चर है राइट तो उसमें हमारे पास कुछ ऐसा रहता था दैट हमारे पास लेट्स से दैट हमारे पास लेट्स से एक नोड है है एंड उसके बाद नेक्स्ट एक नोड है उसके बाद नेक्स्ट एक नोड है एंड ये नोड्स आपस में कनेक्टेड है हर नोड के पास नेक्स्ट का एड्रेस है एंड जो हमारी लेटेस्ट नोड होती है उसको हम हेड कहते थे इफ यू रिमेंबर राइट ऐसे ही होता था टेक्निकली अगर हम इसको विजुलाइज करें क्या ये एक लिंक लिस्ट जरा लग रहा है क्या ये एक लिंक लिस्ट की तरह लग रहा है बेसिकली जो ये कमिट्स है ना ये एक तरह के लिंक लिस्ट होता है ओके तो हमारा ये कमिट था उसके बाद ये हुआ उसके बाद ये हुआ ये एक तरह का लिंक लिस्ट है जिसमें ये हमारा क्या है ये हमारी बेस नोड है राइट ये हमारी बेस नोड है एंड ये हमारा हेड है तो हमारा हेड अभी कहां पर है यहां पर है ओके तो हमारा हेड अभी कहां पर पॉइंट कर रहा है हमारा हेड पॉइंट कर रहा है इस पर्टिकुलर कमिट के ऊपर जब मैं एक नया चेंज करूंगा ओके जब मैं एक नया चेंज करूंगा लेट्स से मैंने कुछ चेंज किया और मैंने एक नया कमिट बनाया तो बेसिकली क्या होता है हमारा पहले एक नया कमेट बनता है एंड उसके बाद ये लिंकिंग होती है एंड हमारा जो हेड है बेसिकली उसको हम पॉइंट कर देते हैं यहां पर तो हेड बेसिकली हमेशा लेटेस्ट कमिट के ऊपर पॉइंट करता है ठीक है अब लेट्स से ये पर्टिकुलर जो कोड है वो है फॉल्टी कोड ये है फॉल्टी कोड ओके फॉल्टी तो फॉल्टी का मतलब क्या होता है तो 40 कोड का मतलब है दैट इसके अंदर कोई बग है ठीक है तो एक काम करते हैं अभी हमारे कमिट हिस्ट्री इज गुड एक काम करते हैं यहां पर ना हम कुछ बग कर देते हैं नम वन कर देते हैं ठीक है ये कोड गलत है नम वन यहां पे वेरिएबल ही नहीं है तो मैं यहां पे करूंगा गेट ड डॉट जिससे सबको स्टेजिंग में गया स यू कैन सी स्टेजिंग में गया गेट कमिट हान ए अ कोड चेंजेज एंड एंटर तो बेसिकली क्या हुआ मेरा एक कमिट बन गया तो अगर अब मैं गिट लॉक करता हूं यू कैन सी दैट हमारा एक कमिट बन गया एंड हेड अभी इस पर्टिकुलर के ऊपर है ओके तो मैंने क्या किया मैंने एक ये कमिट बना दिया एंड मैंने यहां पर लिख दिया कोड चेंजेज अब टेक्निकली मुझे पता है दैट ये कोड गलत है मुझे रिवर्ट बैक करना है तो रिवर्ट बैक कैसे कर सकता हूं एक तरीका क्या है अगर मैं अपने हेड को यहां पर पॉइंट कर दूं तो क्या मैं कह सकता हूं दैट मैं रिवर्ट बैक कर गया बेसिकली मेरा जो हेड है वो अभी यहां पर पॉइंट कर रहा है मुझे ना इस कमिट की जरूरत ही नहीं है मुझे इस कमिट को ही हटाना है क्या मैं ये कर सकता हूं कि मैं मैं अपना जो हेड है अगर मैं उसको यहां पर ले जाऊं तो टेक्निकली ये रिमूव नहीं हो जाएगा समझ रहे हो राइट अभी मेरा हेड यहां पर है मुझे इस कोड की जरूरत ही नहीं है मुझे ये कमिट गलत है तो अगर मैं अपना हेड वापस यहां ले जाऊं तो इससे क्या होगा इससे बेसिकली मैं पीछे चला जाऊंगा तो देखो हम क्या कर सकते हैं यहां पे हम क्यू करते हैं पहले एक काम करते हैं गेट लॉक करते हैं हान हान वन लाइन एंड एंटर ठीक है ये मेरा हेड है राइट ये मेरा हेड है यू कैन सी दैट यस बिल्कुल सही है यही तो मेरा हेड है अगर मैं यहां पर बोलूं गिट रिसेट हाइन हाइन हा एंड यह वाला कमेंट सॉरी ये वाला नहीं मुझे इस पर लेकर जाना है तो पिछले वाला कमेंट मैसेज ओके तो बेसिकली मैं क्या बोल रहा हूं यार एक काम कर गेट रिसेट कर हार्ड फुली अभी जो हेड है ना वो इस पर है मेरा हेड ना इस कमिट प ले जा ओके 57 वाले प ले जा 57 वाला मतलब यह वाला अभी ध्यान से देखना यह कोड नम वन है जैसे मैं एंटर करूंगा क्या हुआ जैसे मैंने एंटर किया इसने क्या बोला हेड इज नाउ एट दिस अब अगर मैं गिट लॉग करता हूं तो मेरा जो हेड है वो इसके ऊपर परर है मैंने इस कमिट को खो दिया बेसिकली मैंने अपना हेड ही रिसेट कर दिया पीछे ले गया एंड ये वापस से नम टू हो गया तो ये एक तरीका है रिवर्ट करने का ये एक तरीका है रिवर्ट करने का जिसमें हम लेटेस्ट कमिट को रिवर्ट करते हैं इसमें क्या होता है लेट्स से अगर मैं अपना जो ये मैसेज है जो ये रिवर्ट है अगर मैं लेट्स से इस वाले पे ले जाता तो इससे क्या होता लेट्स से मैं इस पे ले गया तो ये दोनों कमिट्स ही मैं लूज कर जाता करेक्ट ये दोनों कमिट से मैं लूज करता था क्योंकि एक लीनियर फ्लो है मैं हेड को ही ऊपर ले गया जिससे ये दोनों को मैं लूज कर ता यह है एक तरीका इससे क्या हुआ अभी मैंने क्या किया मेरा जो गिट था इसको ध्यान से समझना मेरा जो ये हेड था वो इस पे था मैंने जैसे हेड को इस पे किया बेसिकली ये चीज ही रिमूव हो गई हिस्ट्री से अब अगर कोई भी डेवलपर आके गिट लॉक करता है तो उसको ये हिस्ट्री में दिखना चाहिए करेक्ट जो कि हमें दिख रहा है दिस इज वन वे ऑफ रिवर्टिंग ठीक है तो मतलब कि अगर मैं अपना गिट रिवर्ट गलती से यहां पे कर देता हूं गलती से 79 पे कर देता हूं दैट इज ये वाला कमिट तो तो क्या होगा ये दोनों कमिट्स हट जाएंगे क्योंकि मैं अपने हेड को ही ऊपर ले गया बट लेट्स से मुझे क्या करना है मुझे ना सिर्फ उस कोड को रिवर्ट करना है जो इस कमिट के अंदर ऐड हुआ था ठीक है आई नो थोड़ा सा कन्फ्यूजिंग साउंड करेगा समझते हैं मुझे क्या करना है ना मुझे ये फीचर चाहिए मुझे ये वाला फीचर भी चाहिए मुझे ये वाला फीचर भी चाहिए बट सिर्फ और सिर्फ जो इसमें कमिट हुआ था ना मुझे वो नहीं चाहिए इसका क्या मतलब अगर तो मैं अपना हेड ही ऊपर ले जाऊंगा ठीक है अगर तो मैं अपना हेड ही ऊपर ले जा ऊा यार ये तो पूरी हिस्ट्री क्लीन कर देगा ना यह तो सब कुछ ही क्लीन कर देगा नहीं मुझे सब कुछ चाहिए मुझे सिर्फ वो नहीं चाहिए जो सिर्फ इसमें ऐड हुआ था तो उसके लिए हम क्या करते हैं हमारे पास एक कमांड होती है पहले तो इसका मैसेज इसका कमिट मैसेज ले लो ओके तो इसका कमिट मैसेज है लेट्स से ये वाला तो हमने क्या किया था इफ यू रिमेंबर हमने ना यहां पर एक फंक्शन को रिमूव किया था डू यू रिमेंबर इस फंक्शन को रिमूव किया था मुझे इसको रिवर्ट करना है तो इसका कमिट मैसेज है 79 वाला कॉपी मैं यहां पे करूंगा गेट रिवर्ट एंड एंटर ये क्या करेगा बेसिकली यहां पर ठीक है हमारे पास अ मर्ज कॉन्फ्लेट आया इसको मैं एक मिनट रिजॉल्व करता हूं मर्ज कॉन्फ्लेट्स की बाद में बात करते हैं सो यू कैन सी दैट जैसे मैंने गेट रिवर्ट किया ठीक है तो इसने क्या किया इसने बेसिकली मेरा वह कोड वापस रख दिया कैन यू सी यह कोड वापस रख दिया इसने ठीक है बहुत बढ़िया अब अब बेसिकली क्या हुआ जैसे ही मैंने बोला गिट रिवर्ट ओके एंड मैंने यह वाला कमिट उठा के बोल दिया गेट रिवर्ट कर दो ये क्या करता है इस कोड का ना बेसिकली एक उल्टा कोड बना देता है अगर उसमें जो जो भी चीजें रिमूव हुई होंगी उनको वापस ऐड कर देगा जो जो भी ऐड हुई होंगी उनको वो रिमूव कर देगा ठीक है अब अगर मैं अपना गिट स्टेटस करता हूं तो बेसिकली व्हाट यू विल सी इज दैट इसने ना मॉडिफाई कर दिया फाइल को ठीक है अब एक काम करते हैं गिट ऐड करते हैं गिट गिट ड डॉट ओके एंड गेट कमिट करते हैं गेट कमिट हान एम मैं यहां पे बोलूंगा रिवर्ट ठीक है रिवर्ट समथिंग मैंने यहां पे बोला रिवर्ट समथिंग अ सॉरी वो मेरी फोटो के नीचे जा रहा है अ मैंने यहां पे बोला गेट रिवर्ट समथिंग एंटर एंड अब अगर मैं गिट लॉग करता हूं तो ध्यान से देखते हैं हमारे कमिट हिस्ट्री को क्या हुआ तो मैं एक काम करता हूं वन लाइन लॉक करता हूं गिट लॉग हान हान व लाइन अगर हम अपनी कमिट हिस्ट्री को थोड़ा सा ध्यान से देखते हैं तो क्या हुआ हमारे पास यह एक कमिट है यह एक कमिट है यहां तक बिल्कुल सही है कैन यू सी 7 फ 57 तक बिल्कुल सही है यानी कि हमारा जो हेड है वो 57 तक सही है उसके बाद एक और कमिट ऐड हुआ कैन यू सी दिस 22 वाला बेसिकली एक और कमिट ऐड हुआ रिवर्ड समथिंग वाला तो मतलब कि इसने क्या किया इस ने ना एक और कमिट बनाया मेरे लिए ठीक है इस कमिट का मैसेज क्या है इस कमिट का मैसेज है रिवर्ट समथिंग ठीक है बहुत बढ़िया रिवर्ड समथिंग एंड इसने क्या किया इसने इस कमिट की आईडी बनाई ले लेते हैं एंड इसने क्या किया हेड को ओके तो इसको हम ऐसे करते हैं हेड को अब पॉइंट कर दिया हेड को पॉइंट कर दिया इस मैसेज के ऊपर एंड इस इस पर्टिकुलर अगर मैं इस पर्टिकुलर गिट की हिस्ट्री देखता हूं अगर मैं यहां पर गिट शो करता हूं तो यहां पर यहां पर हम करते हैं जस्ट अ सेकंड गेट शो एंड एंटर तो इसने क्या किया बेसिकली जो जो चेंजेज ओके जो जो भी चेंजेज इस कमिट में चेंज हुए थे उसका एक उल्टा कमिट बना दिया एक और तो बेसिकली हमारी हिस्ट्री के अंदर एक और कमिट ऐड हुआ जो इस चीज को रिवर्ट कर रहा है तो इस तरह से भी हम उसको रिवर्ट कर सकते हैं या तो अपने हेड को ही ऊपर ले जाओ लेकिन उससे क्या होगा लीनियर फ्लो में पूरा का पूरा फ्लो खराब होगा मैं दोबारा समझाता हूं अगर हम गेट रिसेट करते हैं हेड को तो उससे सारे कमिट्स जो लीनियर चल रहे हैं वो सारे के सारे रिवर्ट हो जाएंगे वो बेसिकली हिस्ट्री से ही हट जाएंगे लेकिन अगर मुझे एक पर्टिकुलर हिस्ट्री का कमिट को रिवर्ट बैक करना है उसका उल्टा करना है तो उस केस में हम यूज कर सकते हैं गेट रिवर्ट तो ये एक डिफरेंस है गेट रिसेट के अंदर और एक गेट रिवर्ट के अंदर ठीक है तो धीरे-धीरे कोई बात नहीं यूज टू हो जाओगे अभी के लिए ज्यादा कन्फ्यूजिंग नहीं है ठीक है तो विजुलाइज करो चीजों को ओके ठीक है आगे बढ़ते हैं तो अगर हम अपने डॉक्यूमेंट में वापस आते हैं तो हमें रिवर्टिंग बैक भी आता है ठीक है इसके साथ ना हमारा जो गिट का जो बेसिक्स है वो हो चुका है कंप्लीट हमने गट का जो बेसिक्स है वो हमने कर लिया है कंप्लीट तो गिट एंड गिट हब को हम नेक्स्ट वीडियो में कवर करते हैं सो लेट्स हैव टू पार्ट्स तो ये आई थिंक वीडियो ऑलमोस्ट 50 मिनट्स या एक घंटे का होगा तो इसके अंदर हमने पूरा गिट को कवर कर लिया दिस इज पार्ट वन पार्ट टू के अंदर हम बात करने वाले हैं गेट एंड गेट अप की एंड ब्रांचिंग की ओके तो ज्यादा ओवर वेल्मिनिक दे हैं छोटे से असाइनमेंट की तो हमें क्या करना है यू हैव टू से तो अभी असाइनमेंट की बात करते हैं असाइनमेंट तो असाइनमेंट में सबसे पहले व्हाट यू हैव टू डू इज़ प्ले अराउंड विद द गिट ठीक है तो सबसे पहली चीज़ होती है प्ले अराउंड करो एक बार जैसे जैसे वीडियो के अंदर है जस्ट प्ले विद द गट ओके एंड व्हाट यू हैव टू डू इज़ प्ले विद गट ठीक है तो आपको क्या करना है सबसे पहले कुछ कमिट्स करने हैं ओके सबसे पहले आपको क्या करना है कुछ फाइल्स बना लो कुछ भी कुछ भी कोड फाइल्स बना लो उसके अंदर क्या करो कोड फाइल्स बनाओ उसके अंदर ओवर टाइम फाइल्स ऐड करो जैसे फॉर एग्जांपल पहले आपके पास सिर्फ index.js फाइल है फिर आपने कोई ल . जए फाइल बना दी उसके बाद फिर आपने क्या किया अ मतलब इसके अलग-अलग कमेंट्स बनाना index.js का अलग कमेंट कमिट यल . जए का अपना एक कमिट बना लो उसके बाद एक फोल्डर के अंदर कुछ फाइल बना लो लेट्स से index.js इसको एक अलग कमिट में कर दो तो बेसिकली यू कैन हैव लाइक अ अ लाइक 8 टू 10 कमिट्स बना लो ओके 8 टू 10 कमिट्स बना लो ठीक है बना लिए उसके बाद क्या करो गट लॉक करके देखो क्या हो रहा है गट लॉक हाफ हाफ व लान करके देखो गट लॉक हाफ i 1 लाइन तो देखो दैट हमारे जो कमिट हिस्ट्री है वो कैसे-कैसे चल रही है ओके टाइमलाइन को विजुलाइज करो गिट लॉक करके देन गिट रिसेट कमांड को ट्राई करो दैट अगर हम ज्यादा रिसेट करते हैं फॉर एग्जांपल एकदम से इस लाइन से इस लाइन पे आ जाते हैं तो गिट रिसेट करने से क्या हो रहा है ओके तो कैसे हमारा जो गिट रिसेट हान हाइन हार्ड है और यहां पर हमारा जो कमिट मेसेज जो हमारा एसए है कमिट का वो कैसे काम कर रहा है एंड अगर हम गेट रिवर्ट का यूज करते हैं तो वो कैसे काम कर रहा है दैट्ची को एक बार हैंड्स ऑन ट्राई करो बिकॉज़ इनिशियली गिट को विजुलाइज करना थोड़ा सा डिफिकल्ट रहता है एंड वन मोर चीज इफ यू रिमेंबर हमने ना शुरू में एक एक्सटेंशन इंस्टॉल की थी गिट ग्राफ इसका क्या बेनिफिट है अगर गेट ग्राफ इंस्टॉल्ड है मेरे पास यहां पर एक बटन आ रहा है गेट ग्राफ मैं इसको एंटर कर सकता हूं एंड ये क्या करेगा मेरे लिए पूरा गेट को विजुलाइज करके दिखाएगा दैट क्या-क्या हुआ तो पहले हमारे पास ये था ठीक है इसके अंदर मेरे पास इस कमिट के डिटेल्स हैं क्या-क्या फाइल्स थी इसके अंदर क्या हुआ बेसिकली index.js के अंदर हमने ये हटाया और ये ऐड किया ठीक है देन हमने ये वाला कमिट किया फिर हमने ये कमिट किया फिर हमने ये कमिट किया फिर हमने ये कमिट किया एंड यह हमारा बेसिकली हमारा हेड है ओके तो ये हमारा हेड है तो बेसिकली जो गिट ग्राफ है ये क्या करता है ये बेसिकली इसको बहुत अच्छे से विजुअली दिखाता है दैट किस तरह से मेरे पूरे कमिट्स चल रहे हैं तो गिट ग्राफ को विजुलाइज करो एंड इसी के साथ हमारा जो गिट का पार्ट वन है व्हिच इज बेसिक्स वो हमने कर लिया कवर ओके सो पार्ट टू के अंदर हम बात करने वाले हैं एक बहुत ही इंटरेस्टिंग चीज की जिसको हम कहते हैं कोलबोर्न ओके सो देखो अभी तक हमने क्या देखा दैट लेट्स से अगर हमें खाली कैनवास पे काम करते हैं दैट लेट्स से दैट मेरे पास एक लोकल मशीन है करेक्ट मेरे पास एक लोकल मशीन है एंड ये मेरी लोकल मशीन है ओके तो इसको मैं नाम दूंगा लोकल मशीन एंड इस लोकल मशीन के अंदर हम किस तरह से वीसीएस वर्जन कंट्रोलिंग सिस्टम कर सकते हैं यूजिंग गट तो ये चीज हमने हमें पता है राइट तो हमें क्या करना पड़ा हमें कल गट को पहले इंस्टॉल करना हुआ हमारी मशीन के अंदर एंड आफ्टर इंस्टॉलेशन मैं क्या कर पा रहा था मैं अपनी लोकल मशीन के अंदर गिट से प्रोजेक्ट्स को ट्रैक कर पा रहा था राइट उसका सोर्स कंट्रोल ट्रैक कर पा रहा था अभी प्रॉब्लम कहां आता है लेट्स से जब हम रियलिटी में एक बड़ा प्रोजेक्ट बनाते हैं तो हम एक टीम में वर्क करते हैं राइट हम एक टीम में वर्क करते हैं सो लेट्स से दैट ये तो मेरी मशीन है ओके तो ये जो पर्टिकुलर मशीन है ये मेरी मशीन है एंड लेट्स से मैं अपनी टीम के अंदर एक और यूजर को एक और डेवलपर को इनवाइट करता हूं ओके सो यू कैन अज्यू दैट मेरा एक फ्रेंड है एंड मेरे उस फ्रेंड की भी एक लोकल मशीन है राइट तो ये उसकी लोकल मशीन है अभी मैं क्या चाहता हूं दैट वो भी मेरे साथ इसी प्रोजेक्ट के ऊपर वर्क कर पाए मेरे के साथ कोलैबोरेट कर पाए एंड जो गिट है वो इंटरेस्टिंग सिर्फ और सिर्फ वर्जन कंट्रोलिंग तक लिमिटेड नहीं है उसके अंदर हम कोलैबोरेशन भी कर सकते हैं बहुत इजी से तो वही हम देख रहे हैं दैट किस तरह से हम उसको कर सकते हैं तो अभी मैं क्या करूंगा सबसे पहले मैं चाहता हूं दैट जो प्रोजेक्ट लेट्स से मेरे पास एक नोट जेएस का प्रोजेक्ट है जो प्रोजेक्ट मेरी लोकल मशीन के अंदर गट के अंदर रन कर रहा है जो लोकल जो सोर्स कोड मेरे पास है मुझे इस सोर्स कोड को पहले शेयर करना है मेरे उस फ्रेंड के साथ राइट तो मैं क्या कर सकता हूं मैं इस पर्टिकुलर प्रोजेक्ट को इस इसके साथ शेयर कर सकता हूं कैसे मैं इसको पेनड्राइव में डाल के दे सकता हूं मैं इसको जिप फाइल दे सकता हूं मैं इसको ईमेल कर सकता हूं तो लेट्स से अभी हम कोई भी रिमोट सर्वर की बात नहीं कर रहे तो इसको मुझे प्रोजेक्ट देना है एंड लेट्स से मैंने उसको कैसे दिया मैंने उसको पेन ड्राइव में डाल कर दे दिया तो जैसे ही मैं उसको पेनड्राइव में ये प्रोजेक्ट डाल कर दूंगा तो उसके पास भी मेरे प्रोजेक्ट का सेम क्लोन होगा करेक्ट बिकॉज़ मैंने अपना प्रोजेक्ट जिप करके मेरे फ्रेंड को दे दिया तो अब हम दोनों के पास बिल्कुल सेम प्रोजेक्ट है एंड यह यूजर यह जो मेरा डेवलपर है जो मेरा फेलो डेवलपर है इसको भी मैं बोलूंगा दैट तुम भी अपनी मशीन के ऊपर गिट इंस्टॉल कर लो ओके तो इससे क्या होगा ये भी जो प्रोजेक्ट ट्रैकिंग है जो वर्जन कंट्रोलिंग सिस्टम है उसको वो यूज़ कर पाएगा ठीक है तो अभी तक क्या है यूजर ए के पास भी गिट है एंड उसके पास भी सोर्स कोड है यूजर बी के पास भी सोर्स कोड है एंड उसके पास भी गिट है द प्रॉब्लम इज दैट लेट्स से इसके पास जो कोड है इसके पास जो कोड है उसके अंदर लाइन नंबर वन पे कुछ ऐसा है दैट कंस्ट लेट्स से h इक्व 24 ओके तो इस यूजर के पास जो कोड है वो कुछ ऐसा दिख रहा है दैट लाइन नंबर वन ये चीज इस यूजर के पास भी सेम कोड है लेकिन इसने क्या किया इसने यहां पर 24 की जगह कर दिया 28 तो लेट्स से दैट उसने अपनी लोकल मशीन के अंदर कुछ चेंजेज किए मैंने अपनी लोकल मशीन के अंदर ये चेंजेज किए अब यहां पर प्रॉब्लम क्या है हम दोनों का जो कोड है वो इंडिपेंडेंटली काम कर रहा है किस तरह से मैं दोनों चेंजेज को कंसिस्टेंट रख सकता हूं तो मेरे पास कोई वे नहीं है दैट जो वो काम कर रहा है उसको मैं अपने कोड बेस के साथ सिंक कैसे रखूं मैं उसको कंसिस्टेंट कैसे रखूं तो इस पर्टिकुलर प्रॉब्लम को सॉल्व करने के लिए हम क्या करते हैं हमें बेसिकली चाहिए होता है समथिंग नोन एज एक सिंगल सोर्स ऑफ ट्रुथ ओके सिंगल सोर्स ऑफ ट्रुथ ओके तो इस इस चीज को याद रखना तो बेसिकली एक तरह का कोई ऐसा चीज कोई एक तरह का एक ऐसा सोर्स कुछ भी हो सकता है सोर्स जो बेसिकली कंसिस्टेंसी मेंटेन करें जितने भी हमारे डेवलपर्स सेम कोड पे काम कर रहे हैं ओके तो ये सिंगल सोर्स ऑफ ट्रुथ बेसिकली क्या होता है ये किसी भी तरह का एक रिमोट सर्वर हो सकता है किसी भी तरह का एक रिमोट सर्वर ओके तो ये एक एक विंडोज मशीन हो सकती है ये एडब्ल्यू के ऊपर हो सकता है ये एजर के ऊपर हो सकता है डिजिटल ओसस के ऊपर हो सकता है बट यू गॉट द पॉइंट दैट एक तरह का एक पब्लिक सर्वर है जिसको हम रिमोट सर्वर भी कहते हैं तो ये बेसिकली एक जगह रन कर रहा है ठीक है तो लोकल सर्वर क्या है बेसिकली एक मशीन ही तो होती है लोकल स रिमोट सर्वर भी क्या होता है एक तरह की एक मशीन ही तो है एंड इंटरेस्टिंग हम क्या कर सकते हैं हम इस मशीन के अंदर भी हम गिट को इंस्टॉल कर सकते हैं तो ये जो मेरा सर्वर है लेट्स से इस सर्वर का एक पब्लिक आईपी एड्रेस है या फिर एक पब्लिक डोमेन है लेट्स से इस सर्वर का डोमेन है अ सेंट्रल पय server.com ओके तो मैंने कुछ भी इसको एक नेम दे दिया सल प server.com तो ये मेरा जो सर्वर है वो अप एंड रनिंग है जिसके ऊपर मैंने गट को इंस्टॉल कर दिया अब हम क्या कर सकते हैं हम इसको एज अ सिंगल सोर्स ऑफ ट्रुथ मान सकते हैं दैट जो भी हम चेंजेज करेंगे हमारी लोकल मशीन के अंदर हम उसको पुश करेंगे इस पर्टिकुलर गिट के ऊपर इस पर्टिकुलर गिट के ऊपर हम क्या करेंगे हम अपने कमिट्स को को पुश करेंगे ओके तो हम अपने कमेंट्स को पुश करेंगे एंड जितने भी फेलो डेवलपर्स हैं वो इसी को पुल करेंगे वो इन्हीं चेंजेज को पुल करेंगे तो ये वाला जो यूजर है ये इसको पुल करेगा ओके ये इसको पुल करेगा तो बेसिकली जो सेंट्रल सर्वर है ना ये मेक श्योर करेगा दैट सबके पास ना सेम कॉपी है कोड की ओके तो ये डिसाइड कैसे करते हैं देखो कमिट्स की बात करते हैं तो इफ यू रिमेंबर कल हमने क्या किया था हमने ना एक कमिट्स के बारे में पढ़ा था ओके हर कमिट का एक टाइम होता है तो लेट्स से इस पर्टिकुलर यूजर ने एक कमिट बनाया इस पर्टिकुलर यूजर ने एक कमिट बनाया तो ये इसका एक कमिट है ये कमिट 12:00 बजे बनाया इसने 12 पीएम पे बनाया एंड इसके अंदर इसने क्या किया इस एज को इस एज वेरिएबल को 24 किया एंड हमने क्या किया हमारा ये जो कमिट है हमने इसको हमारे ऊपर पुश कर दिया राइट अब क्या होगा लेट्स से इस यूजर ने जब इसको पुल किया ओके इस पर्टिकुलर यूजर ने जब इस चेंज को पुल किया होगा तो ये सारे कमिट्स इसकी लोकल पे भी पुल हुए होंगे एंड उससे क्या हुआ इसकी जो एज है वो वापस से 24 हो गई बिकॉज़ जो कमिट है हमने उसको एक सेंट्रल सर्वर पे पुश कर दिया एंड बाकी डेवलपर्स ने उसको पुल कर लिया तो सबके पास कोड कंसिस्टेंट है अब इसने क्या किया इस एज को 28 कर दिया इसका क्या मतलब दैट एक और कमिट बना एक और कमिट बना एंड लेट्स से ये चेंज हुआ था मे बी यू नो एट 14 यानी कि 2 बजे एंड ये क्या कर सकता है अब इस पर्टिकुलर कमिट को वापस पुश करेगा हमारे सेंट्रल सर्वर पे दैट मींस अब हमारा जो सेंट्रल सर्वर है उसकी स्टेट क्या है उसकी स्टेट होगी कुछ ऐसे करेक्ट तो यानी कि अब हमारे सेंट्रल सर्वर के पास दो कमिट्स हैं एक 12:00 बजे वाला जिसमें ए 24 है एंड एक 2 बजे वाला जिसके अंदर हमारी जो एज है वो क्या है वो है 28 एंड यहां पर मुझे पीएम लगाने की जरूरत नहीं है या अब क्या होगा जब ये पर्टिकुलर यूजर ये पर्टिकुलर यूजर देखेगा दैट सेंट्रल सर्वर पे तो दो कमिट्स हैं लेकिन मेरे पास तो एक ही कमिट है तो ये क्या करेगा चेंजेज को पुल कर लेगा ये क्या करेगा चेंजेज को पुल कर लेगा जिससे क्या होगा सारे कमिट्स वापस से इसके पास भी आ जाए ओके वापस से इसके पास आ जाएंगे एंड जैसे ही यह पुल करेगा लेटेस्ट कमिट के अकॉर्डिंग एज क्या है 28 एंड इसके पास भी क्या होगा 28 तो देख रहे हो दैट किस तरह से एक सेंट्रल सर्वर पे सारे कमिट्स को पुश एंड पुल करने से सबके पास एक तो कमिट हिस्ट्री मेंटेंड है दूसरा मुझे पता लग रहा है किस टाइम पे किसने क्या चेंज किया एंड सबके पास सेम कोड है तो कंसिस्टेंसी भी है तो इससे क्या हो रहा है मैं बहुत अच्छे से अपने कोड में कोलैबोरेट कर पा रहा हूं मैं उसको मेंटेन कर पा रहा हूं मैं चेंजेज को ट्रैक कर पा रहा हूं एंड किसी भी पॉइंट पे मैं वापस भी जा सकता हूं तो इस चीज को बोला जाता है गिट कोलबो तो गिट को यूज़ करके हम कोलबो मेट भी कर सकते हैं इसके अंदर हमें सिर्फ और सिर्फ एक रिक्वायरमेंट है एंड व्हाट इज दैट रिक्वायरमेंट वो रिक्वायरमेंट क्या होता है वो रिक्वायरमेंट होता है एक सेंट्रल सर्वर होना ओके अब बात करते हैं दैट ये सेंट्रल सर्वर किस तरह से हम सेटअप कर सकते हैं देखो बेसिकली हमें इस सेंट्रल सर्वर को सेटअप करने की जरूरत नहीं है बिकॉज़ पब्लिकली हमारे पास बहुत सारे सर्वर्स अवेलेबल है फॉर एग्जांपल गिट हब गट हब एक तरह का गट सर्वर है जो पब्लिकली अवेलेबल है सिमिलरली हमारे पास एक है गट लब हमारे पास है बिट बकेट तो हम खुद का सर्वर भी बना सकते हैं ये बहुत मुश्किल टास्क नहीं है हम खुद का सर्वर भी बना सकते हैं बट ठीक है हमारे पास बहुत सारे पब्लिकली अवेलेबल सर्वर्स है गिट के सो यू कैन सी गिट हब है गिट लब है बिट बकेट है तो ये क्या है ये बेसिकली गट सर्वर्स हैं एंड एक गिट सर्वर क्या होता है बेसिकली एक सेंट्रल सर्वर जहां पर हम अपने कमिट्स को पुश कर सकते हैं हम अपने कमिट्स को पुल कर सकते हैं सो दैट जितने भी हमारे डेवलपर हैं रिमोट डेवलपर्स हैं उनका कोड कंसिस्टेंट रहे एंड एक हिस्ट्री क्लाउड के ऊपर मेंटेन हो सो आई होप दैट इस पर्टिकुलर पॉइंट पे पता लग गया होगा दैट गिट और गिट हब में क्या फर्क है तो एक्चुअल वर्जन कंट्रोलिंग कौन कर रहा है गिट ओके लेकिन इसका जो सर्वर है इसका एक जो पब्लिक सर्वर है जहां पे मैं अपने चेंजेज को पुश कर सकता हूं पुल कर सकता हूं उसको क्या कहते हैं उसको कहते हैं गिट हब एंड गिट हब ही एक सिर्फ नहीं है गिट हब सबसे पॉपुलर वाला है गिट यई लेयर भी बना देते हैं हमारे लिए तो इंटरनली वो बस एक गट सर्वर है लेकिन उन्होंने क्या किया गट के ऊपर बहुत सारे ना और फीचर्स बना दिए जैसे उन्होंने यूआई बना दिया उन्होंने टास्क मैनेजमेंट बना दिया तो बेसिकली गिट हब उस तरह से और एडवांटेजेस और चीजें हमें देता है ओके लेकिन हम खुद का सर्वर भी बना सकते हैं तो ये भी मुश्किल टास्क नहीं है सो आई होप एट दिस पर्टिकुलर पॉइंट ऑफ टाइम गिट एंड गिट हब का कांसेप्ट समझ आ गया ओके तो गिट रिमोट क्या होते है अब हम इसकी बात करते हैं ओके तो गिट रिमोट इस पर्टिकुलर टॉपिक पे जाने से पहले हमें क्या करना होगा हमें एक गट सर्वर को सेटअप करना होगा ओके गिट सर्वर को कैसे सेटअप कर सकते हैं तो इस केस में मैं यूज़ करने वाला हूं गप आप कोई भी यूज़ कर सकते हो बिट बकेट यूज़ कर सकते हो गलब यूज़ कर सकते हो द ओनली प्रॉब्लम इज दैट ये दोनों पेड है एंड ये पब्लिकली फ्री है तो हम क्या करेंगे हम यहां पर जाएंगे github.com के ऊपर सो github.com क्या है बेसिकली एक गट सर्वर है राइट एक गिट का सर्वर है सो यू कैन सी दैट थोड़ा सा इन्होंने क्या किया और फीचर्स दे दिया जैसे फॉर एग्जांपल मैं बाकी लोगों के कोड दे सकता हूं थोड़ा सा सोशल मीडिया टाइप प्लेटफॉर्म इन्होंने बना दिया जिसमें मैं बाकियों की कंट्रीब्यूशन देख सकता हूं तो एक यूआई लेयर बना दी ऑन टॉप ऑफ गिट ओके तो यहां पर गब के ऊपर अकाउंट बनाना इज फ्री एंड वेरी इजी तो यहां पे मैं एक इनकॉग्निटो टैब ओपन करता हूं एंड आई विल जस्ट गो टू github.com तो ये बनाएंगे हम चलते हैं मेरी प्रोफाइल फोटो के ऊपर एंड यहां से मैं क्लिक करूंगा योर प्रोफाइल बटन के ऊपर तो मेरी प्रोफाइल देखते हैं ओके तो मेरी गिट हब के ऊपर एक प्रोफाइल है तो गट अप क्या करता है जो भी चेंजेज मैं अपने गिट पे पुश कर रहा हूं पुल कर रहा हूं उसको ये ट्रैक करता है उसके ऊपर एक बहुत ही बढ़िया यूआई लेयर देता है तो जैसे यू कैन सी दैट हम इसके अंदर प्रोफाइल फोटो सेटअप कर सकते हैं हमारा नेम है हमारे फॉलोअर्स हैं हमारी फॉलोइंग है एंड हमारे कुछ पब्लिक लिंक्स हैं यहां पर एंड मेरे बारे में कुछ रीड मी है जिसको मैंने आई थिंक बहुत सालों से अपडेट नहीं किया ये वो कुछ लैंग्वेजेस हैं जो मुझे आती हैं सो बहुत पहले सीखी थी ओके तो ये कुछ लैंग्वेजेस हैं एंड यू कैन सी दैट ये मेरा कंट्रीब्यूशन ग्राफ है ओके इसको कहते हैं कंट्रीब्यूशन ग्राफ ये एक तरह का हीट मैप है तो इसमें तुम देख सकते हो दैट कहां-कहां कैसे-कैसे मैंने कंट्रीब्यूशंस किए ओके तो ये बता रहा है दैट किस डे पे मेरी कंट्रीब्यूशंस कैसी-कैसी थी एंड फॉर सम रीजंस ये अपडेट हां हो रहा है सो ये हमारा क्या है ये हमारा कंट्रीब्यूशन ग्राफ है किस-किस रिपोजिटरीज में किस-किस प्रोजेक्ट में मैंने कंट्रीब्यूट किया तो बेसिकली यू कैन सी दैट ये है क्या एक गिट ही है एक तरह का रिमोट सर्वर है जिसके ऊपर हम बहुत चीजें कर सकते हैं अब हमें यहां पर क्या करना है हमें यहां पर पर जाना है रिपोजिटरीज के अंदर ओके यहां पर एक टैब है रिपोजिटरीज तो मेरी कितनी रिपोजिटरीज है 202 तो रिपोजिटरीज क्या होती है प्रोजेक्ट तो जैसे हम गिट इट करते हैं तो हम क्या करते हैं एक रिपोजिटरी बनाते हैं करेक्ट तो कल हमने जब बात किया था गिट इट का इनिश इइ तो वो क्या करते हैं एक रिपोजिटरी बनाता है तो गट इट क्या करता है लोकल मशीन के ऊपर एक रिपोजिटरी बनाता है करेक्ट लोकल मशीन के ऊपर लेकिन अभी हमें क्या करना है हमारा जो ये रिमोट सर्वर है इस केस में हम क्या यूज़ कर रहे हैं हम यूज़ कर रहे हैं गट गिट हब के ऊपर हमें क्या करना है एक रिपोजिटरी बनाना है तो गिट हब योर रिपोजिटरीज एंड यहां से मैं क्या करूंगा यहां पे मैं क्लिक करूंगा न्यू रिपोजिटरी ओके ये बटन है तो न्यू अब इस रिपोजिटरी का क्या नेम है तो इस रिपोजिटरी का एक नेम देते हैं दैट गट हब हान अ क्रश हान कोर्स तो ये क्या हुआ ये बेसिकली मेरा एक रिपोजिटरी बना ओके इसको पब्लिक रखना है या प्राइवेट रखना है ये क्या पूछ रहा है इसको पब्लिक रखना है या प्राइवेट रखना है तो लेट्स से मैं इसको अभी के लिए प्राइवेट रख लूंगा पब्लिकली सबको विजिबल होगा प्राइवेट सिर्फ मुझे या फिर जिसको मैं एक्सेस दूंगा उसको विजिबल होगा उसके बाद हमें यहां पे किसी भी चीज को नहीं छेड़ना है एंड हम बस बोलेंगे क्रिएट रिपोजिटरी ओके एंड इससे क्या होगा मेरी जो रिपोजिटरी है वो हो चुकी है क्रिएट एंड इस पर्टिकुलर रिपोजिटरी का एक लिंक है एक यूआरएल है यू कैन सी [email protected] एंड उसके बाद एक पाथ तो इसको कॉपी कर लेते हैं एंड इसको हम यहां पे कर लेते हैं पेस्ट ओके तो मैं यहां पे विजुलाइज दिखाता हूं कैसे हमने क्या किया हमने अपने रिमोट सर्वर के ऊपर तो यहां पे ना हम एक सर्वर ले लेते हैं तो हमारे पास एक गिट सर्वर है राइट हम गब को यूज़ कर रहे हैं उसके ऊपर मैंने क्या किया एक पब्लिक रिपोजिटरी बना ली ओके तो ये उस पब्लिक रिपोजिटरी का यूआरएल है सर्वर का एड्रेस है एंड ये क्या है ये बेसिकली उसका एड्रेस है जहां पे वो गिट फाइल है ओके अब हम क्या कर सकते हैं जो मेरी लोकल मशीन के ऊपर जो मेरी लोकल मशीन के ऊपर जो कोड है राइट मेरी लोकल मशीन के ऊपर भी तो गिट है तो बेसिकली मुझे क्या करना है मुझे इस गिट को बताना है दैट इसका जो कोड है ना वो इस सर्वर के साथ सिंक रखना है मुझे इस गिट को बताना है दैट इसका जो कोड है वो किस सर्वर किस एड्रेस के साथ सिंक रखना है तो वो हम कैसे कर सकते हैं तो उसके लिए हमारे पास कमांड होती है रिमोट तो इस चीज को क्या बोला था इस चीज को बोला जाता है रिमोट ओके तो अब अगर मैं वापस आता हूं अपने कोड के ऊपर एंड मैं यहां पर करता हूं गिट रिमोट एंटर यू विल सी कुछ भी नहीं आया ओके अगर हम करते गिट रिमोट h r एंड एंटर सॉरी अ अगर हम करते गिट रिमोट h v एंड एंटर यू कैन सी दैट कुछ भी कसोल डलॉग नहीं हो रहा है करेक्ट कुछ भी कसोल डलॉग क्यों नहीं हो रहा है बिकॉज़ मेरे पास कोई रिमोट ही सेटअप नहीं है अभी के लिए मैं क्या कर सक मैं गेट लॉक कर सकता हूं गेट लॉक हा फन हाफ 1 लान कर सकता हूं यू कैन सी दैट ठीक है मेरे पास कुछ कमिट्स हैं लेकिन मेरे पास कोई भी रिमोट नहीं है जहां पे मैं इस कोड को पुश कर पाऊ तो वो हम कैसे सेट कर सकते हैं आई कैन से गेट रिमोट ऐड मैं एक रिमोट ऐड कर रहा हूं ठीक है हर रिमोट का ना हम एक यूजर फ्रेंडली नेम दे सकते हैं ठीक है जैसे फॉर एग्जांपल मैं बोल सकता हूं फ्रेंड का सर्वर मैं बोल सकता हूं ओरिजिन सर्वर मैं बोल सकता हूं ओरिजिनल सर्वर कुछ भी इस पर्टिकुलर रिमोट का हम एक नेम दे सकते हैं एंड बाय कन्वेंशन हम उसको कहते हैं ओरिजिन बाय डिफॉल्ट बाय कन्वेंशन हम उसको क्या बोलते हैं ओरिजिन दैट ये ओरिजिन है तो यहां पे बोलूंगा गिट रिमोट ड ओरिजिन एंड उसके बाद मेरा एड्रेस क्या है मैं इसको कर लेता हूं कॉपी एंड मैं इसको कर लेता हूं पेस्ट एंड एंटर हो गया अब अगर मैं गिट रिमोट हान v करके एंटर करता हूं कैन यू सी दैट मेरे पास एक रिमोट है जिसका नाम क्या है ओरिजिन अगर तो मुझे कुछ भी चीज फेच करनी है अगर मुझे कोई भी चीज पुल करनी है तो वह भी मैं इस सर्वर से करूंगा अगर मुझे कोई चीज पुश करनी है तो वो भी मैं इसी सर्वर से करूंगा इससे क्या हुआ मेरा जो रिमोट ओरिजिन वो हो चुका है सेटअप अब मेरे लोकल गिट को मेरे लोकल गिट को पता है दैट एक सर्वर है ओरिजन जिसका एड्रेस क्या है जिसका एड्रेस है ये तो अब अगर मैं गेट पुश करूंगा तो क्या होगा मेरे जो चेंजेज हैं वो यहां पर पुश हो जाएंगे तो उसके लिए हम क्या कर सकते हैं तो हम यहां पर बोलेंगे गेट पुश एंड एंटर तो यहां पे हमारे पास एक एरर आएगा अप स्ट्रीम का तो अभी के लिए इसको वरी नहीं करना तो हम बोलेंगे गेट पुश ओके एंड यहां से एक कमांड क्या है हान यू ओरिजिन मेन तो मैं क्या बोल रहा हूं दैट एक काम करो गेट पुश करो हान य अपस्ट्रीम होता है तो जब हम ब्रांचेस की बात करेंगे तब हम बात करेंगे तो मैं आपको बोलूंगा कहां पुश करना है कौन से सर्वर पे पुश करना है मुझे ना ओरिजिन पे पुश करना है ऑरिजिन मतलब ओरिजिन हमने अभी सेटअप किया ना दैट ओरिजिन का मतलब है ये वाला सर्वर एंड कौन सी ब्रांच के अंदर करना है तो मेन ब्रांच के अंदर ब्रांचेस क्या होती हैं अभी बात करेंगे बट अभी के लिए यू कैन जस्ट अजूम दैट मेन ब्रांच के अंदर पुश करना है तो जैसे ही मैं यहां पे करूंगा एंटर सी व्हाट विल हैपन जैसे ही मैंने एंटर किया तो ये थोड़ा टाइम लेगा एंड डन कैन यू सी इसने क्या किया ऑब्जेक्ट्स के ऊपर इनमेट किया काउंट किया अ कंप्रेशन किया ठीक है उसके बाद इसने क्या किया राइटिंग ऑब्जेक्ट्स टोटल रिमोट जो भी किया इसने कर दिया अब अगर मैं वापस जाता हूं अपने सर्वर के ऊपर जो गेट हब का सर्वर है एंड मैं इसको रिफ्रेश करता हूं सो इंटरेस्टिंग ये क्या हुआ यहां तो कुछ-कुछ फाइल्स हैं राइट यहां तो इक्ड जीएस फाइल है जिसके ऊपर मेरा कमिट मैसेज है यहां पर तो इनिशियल कोड एडेड का एक कमिट मैसेज है चेंजेज इन यूल तो अगर मैं वापस जाके यहां पे गिट लॉग करता हूं गिट लॉग अ गिट लॉग हाफ न 1ला कैन यू सी दैट मेरे जो ये कमिट्स थे कितने कमिट्स है 1 2 3 4 5 6 ये सिक्स के सिक्स कमिट्स बेसिकली विद कोड यहां पर चले गए तो यहां पे ये क्या बोल रहा है दैट यस्टरडे वाज द लास्ट कमिट लास्ट कमिट की आईडी क्या है ये राइट तो लास्ट कमिट की आईडी क्या है ये वाली एंड उसके बाद टोटल कितने कमिट्स है सिक्स इसके ऊपर क्लिक करते हैं सिक्स कमिट्स के ऊपर क्लिक करते हैं ये रहे मेरे वो सारे कमिट्स तो हर कमिट की आईडी है कैन यू सी हर कमिट की एक आईडी है हर कमिट की आईडी है एंड मेरे सारे कमिट्स मुझे दिख रहे हैं दैट पियूश ने किए हैं एंड ये सारे वो कमिट्स हैं तो बेसिकली जैसा मैंने बताया था दैट गट के ऊपर हमने उसको पुश कर दिया ये गिट सर्वर है एंड ये उसकी टॉप पे क्या देता है एक बहुत ही अच्छी यूआई लेयर देता है सो यू कैन सी दैट एक बहुत ही अच्छा यूआई ले आ रहा है ये और भी एडवांटेजेस दे रहा है दैट 100% कोड जावास्क्रिप्ट के अंदर है एंड इसके ऊपर मैं कुछ डिस्क्रिप्शन डाल सकता हूं मैं इसके ऊपर एक्टिविटी को मॉनिटर कर सकता हूं लोग इसको स्टार कर सकते हैं अन वॉच कर सकते हैं इसके ऊपर आप इश्यूज को ट्रैक कर सकते हो तो मतलब बेसिकली एक्स्ट्रा सेट ऑफ एडवांटेजेस है जो गट हब ने बनाया है ये गिट के फीचर नहीं है जितने भी ये साइड पे जो इंफॉर्मेशन है ना या फिर जो इश्यूज हैं पुल रिक्वेस्ट हैं बेसिकली ये गिट का फीचर नहीं है ये गिट हब ने बनाया ऑन टॉप ऑफ गिट गिट का काम क्या था कमिट्स को मैनेज करना एंड कमिट्स को पुश करना ओके एंड ये हमारी वो मेन ब्रांच है ब्रांचेस क्या होते हैं कोई बात नहीं आएंगे सो आई होप दैट इस पर्टिकुलर पॉइंट ऑफ टाइम तक हमें पता लग गया होगा दैट एक गिट सर्वर क्या होता है एंड यहां पर एक डाउट आएगा क्या हमारे पास मल्टीपल रिमोट हो सकते हैं बिल्कुल हो सकते हैं ओरिजन ये है मैं एक और रिमोट ऐड कर सकता हूं फॉर एग्जांपल मैं उसका नेम दे सकता हूं एक वाज एंड उसका मैं कुछ और एड्रेस दे सकता हूं तो बेसिकली यस वी कैन हैव मल्टीपल रिमोट्स एज वेल वो कब काम आएगा जब हम ओपन सोर्स कंट्रीब्यूशंस करते हैं उस केस में हमारे पास मल्टीपल ओरिजंस होते हैं तो उसको हम बाद में बात करेंगे ठीक है तो उसके बारे में तो इसको हम करते हैं डिलीट तो अभी के लिए अज्यू एक ही ओरिजिन है अब जो मेरा फ्रेंड होगा वो भी क्या करेगा इसी पर्टिकुलर प्रोजेक्ट को वो क्लोन करेगा इसी पर्टिकुलर प्रोजेक्ट को वो क्या करेगा क्लोन एंड यहीं से बेसिकली वो यहीं पर ही पुश करेगा तो हम दोनों के चेंजेज हम दोनों के कमिट्स एक सेंट्रल रिमोट सर्वर के ऊपर ही पुश होंगे वहीं से पुल होंगे एंड इसको बोला जाता है गेट रिमोट अब यहां पर एक चीज आएगा दैट ऐसे तो मेरे सर्वर के ऊपर कोई भी पुश कर देगा चेंजेज है ना सिर्फ एक यूआरएल होना चाहिए एंड मेरे सर्वर के ऊपर तो कोई भी पुश कर देगा तो ऐसा नहीं है बेसिकली इसके अंदर एक ऑथेंटिकेशन चाहिए होता है जिसको हम बोलते हैं एसएसए एसएसए की ऑथेंटिकेशन एसएसए क्या होता है सिक्योर सॉकेट शेल ओके तो ये क्या होता है बेसिकली अगर आप इस पर्टिकुलर प्रोजेक्ट के अंदर पुश करने का ट्राई करोगे तो आपके पास एक एरर आएगा वो एरर क्या होगा दैट यू कैन नॉट पुश टू दिस पर्टिकुलर रिपोजिटरी बिकॉज़ आपके पास एक्सेस नहीं है लेकिन मैं अपने लोकल से पुश कैसे कर पाया बिकॉज़ मैंने अपनी एसएसए की को सेटअप किया हुआ है तो वो कैसे करते हैं वो मैं आपको बताता हूं बेसिकली हम क्या करते हैं हम एक एसएसए की जनरेट करते हैं हमारी लोकल मशीन के ऊपर इसमें क्या होता है एक प्राइवेट की जनरेट होती है और एक पब्लिक की जनरेट होती है ओके एक प्राइवेट की एक पब्लिक की हम क्या करते हैं हम अपनी पब्लिक की हम अपनी जो पब्लिक की है उसको ना अपने सर्वर के ऊपर हमारे अकाउंट के ऊपर कॉपी कर देते हैं ओके पब्लिक की तो अब क्या होगा जब भी मैं इस पर्टिकुलर मशीन से कुछ भी पुश करूंगा यूजिंग दिस प्राइवेट की वो इस पब्लिक की से यहां पे जाके मैच होगा एंड उसको पता लगेगा ठीक है ये यूजर ऑथेंटिकेटेड है इसको आने दो तो वो कैसे करते हैं वो मैं बताता हूं अगर हम यहां पे सर्च करते हैं गब ओके गिट हब में जाते हैं गिट अप के अंदर आपको क्या करना है अपने अकाउंट की सेटिंग्स में जाना है ओके अकाउंट की सेटिंग्स यहां पर हमारे पास एक चीज होती है जिसको हम बोलते हैं एसएसए एंड जीपीजी कीज ओके तो यहां पे हमें क्लिक करना है एंड यहां पे यू कैन सी दैट मैंने ना दो एसएसए कीज को सेट किया हुआ है एक एक एयर का है एक प्रो का है ओके तो यहां पर मैं क्या कर सकता हूं मैं यहां पर एक और एसएसए की ऐड कर सकता हूं तो मल्टीपल एसएसए कीज भी हम ऐड कर सकते हैं तो यहां पे बोलेंगे न्यू एसएसए की ओके यहां पर हमें क्या करना है अगर हम यहां पे वापस आते हैं तो यहां पर एक डॉक्यूमेंट है जनरेटिंग एसएसए की तो यहां पे हम करेंगे क्लिक तो यहां पर एक डिटेल डॉक्यूमेंटेशन है दैट हम इसको कैसे यूज कर सकते हैं तो अगर हम यहां पे जाते हैं जनरेटिंग न्यू एसएसए की तो यहां पे यू कैन चूज मैक एसए की जन न t यह हमारी एल्गोरिदम है एंड उसके बाद हान सी हमारी ईमेल एड्रेस तो हमें इसको कॉपी करना है एंड हमारे टर्मिनल के ऊपर करना होता है पेस्ट ओके तो मैं अपना टर्मिनल ओपन करता हूं तो जैसे ही मैं इसको पेस्ट करूंगा ये कमांड क्या करेगी कुछ क्वेश्चंस पूछेगी जैसे फॉर एग्जांपल कहां सेव करनी है एसएसए की तो बाय डिफॉल्ट ये क्या होता है डॉट एसएसए फोल्डर के अंदर सेव होती है ओके एंड उसके बाद वो पूछेगा इसका कोई पासवर्ड रखना चाहते हो तो आप पासवर्ड रख भी सकते हो नहीं भी तो एक तरह का एसएसए की का पासवर्ड ओके अब हम क्या कर सकते हैं अगर मैं यहां पर सीडी करता हूं इनटू डॉट एसएसए एंड मैं यहां पर एल एस कर एंड मैं यहां पर एक चीज दिखाता हूं अगर मैं यहां पे अ एलएस करता हूं ठीक है एलएस एंड यहां पर आई विल शो यू आईडी ओके तो ये मेरी पब्लिक ये मेरी प्राइवेट की है एंड ये मेरी पब्लिक की है तो यहां पे बेसिकली क्या होता है अ एक काम करते हैं एलएस करते हैं एंड यहां पर हमने ग्रेप करते हैं एंड ग्रेप एंड एंटर बिकॉज मेरे लोकल मशीन में ना बहुत सारी एसएस कीज है बट ठीक है मुझे सिर्फ यही दो दिखानी है तो यहां पे व्हाट यू विल नोटिस इज दैट जैसे ही हम ये एसएसए की बनाएंगे तो हमारे पास ना दो फाइल्स बनती हैं एक बनती है ये वाली फाइल ये प्राइवेट की है और ये बनती है पब्लिक फाइल हमें क्या करना होता है इस पब्लिक फाइल को कैट करना होता है इस पब्लिक फाइल को क्या करना होता है कैट ओके इसको खोलना है इसको आप वीएस कोड में भी ओपन कर सकते हो या फिर आप बोल सकते हो कैट एंड उसके बाद इस फाइल का नेम जो भी कंटेंट्स जो भी की यहां पर console.log में आएगी जो भी कंटेंट्स आएंगे उसको हमें कर लेना है कॉपी पब्लिक की के प्राइवेट के कॉपी नहीं करने हैं एंड वापस अगर हम अपने गट हब अकाउंट की सेटिंग्स में जाते हैं ओके तो सेटिंग्स तो यहां पर हम करेंगे न्यू एसएसए की ब हमें वो चीज यहां पर कर देनी है पेस्ट तो टाइटल देना है ऑथेंटिकेशन की देना है एंड यहां पे वो कर देना है पेस्ट एंड ऐड दैट्ची की तरह ऑथेंटिकेशन कर सकते हैं हमारे गिट सर्वर के ऊपर एंड अगर हमने अपना खुद का गिट सर्वर बनाया हुआ है तो उस केस में भी हमें ये खुद मैनुअली करना पड़ता है हमें अपनी एसएसए की जनरेट करना होता है हमें मैनुअली सर्वर के अंदर जाके करना होता है यहां पे तो हमें यूआई मिल रहा है लेकिन अगर मैनुअल सर्वर है तो वहां पे हमें खुद जाके अ अलाउड कीज के अंदर हमें वो खुद जाके पेस्ट करना होता है तो ये हमारा ऑथेंटिकेशन का प्रोसेस है तो आई होप इस पर्टिकुलर पॉइंट ऑफ टाइम तक हमें गिट और गिट हब के बीच का जो डिफरेंस है वो हमें समझ आ गया होगा बहुत बढ़िया ओके एंड गिट अप के अंदर एक और चीज अगर मैं वापस अपने अकाउंट में जाता हूं ओके मैं जाता हूं योर रिपोजिटरीज के अंदर एंड योर रिपोजिटरीज में ये हमारी रिपोजिटरी है अगर मैं यहां पे एंटर करता हूं एंड मैं यहां पे सेटिंग्स में जाके अपने यूजर्स अपने कोलैबोरेटर्स को इनवाइट कर सकता हूं ओके तो उससे क्या होगा उनको भी वो एक्सेस मिल जाएगा तो बेसिकली ये सारा गिट हब का फीचर है ये गिट का फीचर नहीं है कूल ठीक है तो ये तो था हमारा गिट वर्सेस गट हब के बारे में तो आई होप गिट एंड गिट हब तो हमारा क्लियर हो गया तो अभी हमें सारा जितना भी कोड है वो गिट हब पे पुश कर रहा हूं ओके सो वापस जाते हैं कोड के ऊपर सारा कोड गिट हब के ऊपर पुश कर रहे हैं एक और चीज दिखाता हूं अभी हमारे कितने कमिट्स हैं अभी हमारे सिक्स कमिट्स हैं वापस आते हैं कुछ चेंज करते हैं ठीक है कुछ चेंज करते हैं माय नेम इज नेम वन है ना इसको ना हम टेंप्लेट लिटरल्स में कर देते हैं ठीक है तो थोड़ा सा ऑप्टिमाइजेशन कर रहे हैं एक तरह का नॉट ऑप्टिमाइजेशन बेसिकली कोड को अच्छा कर रहे हैं तो इसको हम ना ऐसे लिखते हैं ठीक है तो मैंने यहां पे कुछ चेंज किया तो देखो हम क्या कर सकते हैं हम पहले करेंगे गिट स्टेटस गेट स्टेटस बता रहा है कुछ फाइल में चेंजेज हैं बहुत बढ़िया अगर मैं गिट डिफ करता हूं तो मुझे पता लगेगा क्या चेंज हुआ ठीक है बहुत बढ़िया ये हमें पता है अब करते हैं गेट ड डॉट सो दैट मेरे चेंजेज आ जाए स्टेजिंग एरिया में फिर हम करेंगे गेट कमिट हान एम रिप्लेस अ यू नो कॉन कट विद अ टेंप्लेट लिटरल तो कुछ भी एक अच्छा सा मैसेज एंड उसके बाद हम बस कर देंगे गेट पुश एंड एंटर दैट्ची डेट में रिप्लेस अगर मैं इसके ऊपर क्लिक करता हूं तो यू कैन सी दैट ओके पहले क्या था ऐसा था अब कैसा हो गया अब वो ऐसा हो गया है तो बेसिकली पूरा एक यूआई देता है ठीक है इसके ऊपर हम कमेंट्स भी कर सकते हैं तो बेसिकली गिट हब ने ना बहुत चीजें इंप्लीमेंट कर रखी ऑन टॉप ऑफ गिट एंड ओवर टाइम ये चीजें और और और और आती जाएंगी सो आई होप पता लग रहा है दैट गिट गिट हब कितना पावरफुल चीज है एक बेसिकली बहुत पावरफुल सर्वर है गिट के लिए ठीक है बहुत बढ़िया हम यहां से रिवर्ट भी कर सकते हैं वो भी कर सकते हैं बट ठीक है हमें वो लोकली करना चाहिए तो रिवर्ट कैसे कर सकते हैं अगर मैं यहां पे करता हूं गट लॉग हान हान व लाइन एंटर यू कैन सी ये हमारा लेटेस्ट कमिट है लेट्स से मैं यहां पर वापस आना चाहता हूं तो यहां पर मैं बोलूंगा गेट रिसेट हाइन हार्ड एंड उसके बाद ये वाली आईडी एंड उसके बाद मैं यहां पे कर दूंगा गिट पुश हाइन एफ इसको फोर्सफुली पुश करना पड़ेगा बिकॉज़ क्या है मेरा जो रिमोट सर्वर है वो उसका हेड यहां पर है लोकल का हेड यहां पर है तो गिट पुश करने के लिए हमें h f फोर्स का इस्तेमाल करना होगा एंड एंटर इससे क्या होगा मैंने हेड रिसेट कर दिया हमारे रिमोट सर्वर का फोर्स अपडेट अब अगर मैं रिफ्रेश करूंगा वापस से हमारे कमिट्स कितने हो जाएंगे सिक्स बिकॉज़ मैंने आज वाला कमेंट हटा दिया मैंने हेड को रिसेट कर दिया तो ये सब चीजें मतलब जैसे-जैसे धीरे-धीरे टाइम के के साथ आपको क्लियर होती जाएंगी ठीक है आई होप मैं यहां पे थोड़ा ज्यादा फास्ट नहीं गया बिकॉज़ हमने ये चीजें पिछली वीडियो में डिस्कस कर ली थी तो इसी के साथ हमारा खत्म होता है गेट हब अब बात करते हैं ब्रांचिंग की बिकॉज़ ये बहुत ज्यादा इंपॉर्टेंट चीज है जब हम एक कोलाबोटी एनवायरमेंट में या फिर हम कंपनीज में जहां पे मल्टीपल डेवलपर्स काम कर रहे हैं वो काम कर रहे हैं तो देखो ब्रांचिंग का कांसेप्ट बहुत इंपॉर्टेंट है बहुत सारी न्यू चीजें यहां पे तुम्हें सीखने को मिलेंगी सो ब्रांचिंग कांसेप्ट को बहुत अच्छे से समझना ठीक है तो पहले बात करते हैं ब्रांचिंग होता क्या है देखो जब हम कोलबोर्न में वर्क करते हैं तो हमारे पास अभी ना एक ही ब्रांच है यू कैन ब्रांच क्या होता है बेसिकली एक तरह का तुम लगा लो दैट एक ना सिंगल ट्रैक है जैसे रेलवे ट्रैक होता है ना बेसिकली ना एक सिंगल ट्रैक है ओके ये ट्रैक है ठीक है एंड इस ट्रैक के ऊपर क्या है इस ट्रैक के ऊपर ना कमिट्स है करेक्ट इस ट्रैक के ऊपर क्या है इस ट्रैक के ऊपर कमिट्स है तो लेट्स से दैट अभी हमारे ना कमिट्स चल रहे हैं अभी हमारे कितने कमिट्स हैं हमारे ना सिक्स कमिट्स थे अगर मैं वापस जाता हूं यू कैन सी ये ब्रांच का नेम है ठीक है अब ये एक ही ब्रांच है मेन यू कैन सी एक ही ब्रांच है मेन एंड इस ब्रांच के ऊपर कितने कमिट्स है सिक्स कमिट्स हैं तो यानी कि 1 2 3 4 5 एंड एक और बनाते हैं सिक्स तो आई होप ये सिक्स है या सो सिक्स कमिट्स है एंड इस पर्टिकुलर जो रेलवे ट्रैक है ये एक तरह का जो ब्रांच है इसका नेम के मेन ओके तो बाय डिफॉल्ट जो हमारी ब्रांच होती है जो हमारी मेन ब्रांच होती है उसका नेम क्या होता है मेन एंड पहले गिट हब में इसका नाम होता था मास्टर अब इसका नाम हो चुका है मेन तो ठीक है तो कुछ पुराने कोड्स में मास्टर भी हो सकता है लेकिन अभी इसका जो रीसेंट वर्जन है उसके अंदर होता है मेन अब क्या होता है लेट्स से कितने डेवलपर्स काम कर रहे हैं लेट्स से एक तो पीयूष गर्क इस पर्टिकुलर प्रोजेक्ट पे काम कर रहा है एंड एक हम ले लेते हैं एग्जांपल मे बी यू नो जॉन डो ओके जॉन डो भी इस प्रोजेक्ट पे काम कर रहा है तो अभी क्या होगा जितने भी ये कमिट्स हैं ये किसके हैं ये पीयूष के हैं करेक्ट ये सारे कमिट्स किसके हैं पीयूष के हैं जॉन डो भी इसी पर्टिकुलर प्रोजेक्ट पे वर्क कर रहा है तो वो भी क्या करेगा अपने कमिट्स को इसी चीज के अंदर पुश करेगा ठीक है उसके बाद पीयूष भी क्या करेगा इसी के अंदर चेंज करेगा तो हो सकता है ओवर टाइम ये तीन जो कमिट्स हैं ये जो तीन कमिट्स हैं ये हो सकते हैं जॉन के हो एंड बाकी की ये जो कमिट्स हैं राइट तो अगर हम इनको थोड़ा सा हाईलाइट करते हैं ये सारे कमिट्स किसके हो सकते हैं ये सारे कमिट्स हो सकते हैं पीयूष के तो बेसिकली ओवर टाइम क्या होगा मेरा जो कमिट्स है एक ब्रांच के अंदर बहुत ज्यादा पोल्यूटेंट बहुत ज्यादा क्या हो जाएंगे पोल्यूटेंट लेट्स से मुझे इसके अंदर से ना मुझे इसके अंदर से सिर्फ जॉन डो के चेंजेज को ना रिवर्ट करना है रिक्वायरमेंट आता है दैट जो जॉन डो ने कोड किया था वो बिल्कुल खराब कोड था रिवर्ट जॉन डो के चेंजेज तो प्रॉब्लम क्या है जॉन डो के चेंजेज को अगर हम रिवर्ट करना चाहेंगे तो कहीं ना कहीं वो मेरा चेंज भी रिवर्ट होगा अगर मैं अपने हेड को रिसेट करने का ट्राई करूंगा तो वो कहीं ना कहीं मेरा मेरे चेंजेज को भी रिवर्ट कर देगा अगर मैं रिवर्ट कमांड का यूज़ करूंगा तो वो तीन मतलब हो सकता है रियलिटी में 10 कमिट्स हो तो एक-एक कमिट को रिवर्ट करना इज नॉट पॉसिबल तो जब भी हम कोलैबोरेशन में वर्क करते हैं हर डेवलपर जब इंडिपेंडेंटली अपने-अपने फीचर्स पे काम कर रहा होता है तो हमें सेम ट्रैक के ऊपर काम नहीं करना चाहिए सेम रेलवे के ऊपर काम करेंगे कमिट्स पोल्यूटिंग ट्रैकिंग मुश्किल होगा रिवर्ट करना मुश्किल होगा एंड बहुत जल्दी जल्दी जल्दी भरता जाएगा तो इस पर्टिकुलर प्रॉब्लम को सॉल्व करने के लिए हमारे पास आती है ब्रांचिंग एंड गेट तो ब्रांचिंग क्या होता है ठीक है बात करते हैं लेट्स से जॉन डो यहां पर एजिस्ट नहीं करता ठीक है कोई भी चेंजेज नहीं है मेरे भी चेंजेज नहीं है एंड रिसेंटली अभी क्या है यह हमारे कोड की स्टेट है मैंने जॉन डो को इनवाइट किया दैट हे जॉन डो मेरे साथ काम करो ठीक है तो यहां अभी हमारा जो हेड है वो कहां पर है अभी हमारा जो हेड है वो कहां पर पॉइंट कर रहा है वो बेसिकली इस पर्टिकुलर कमिट के ऊपर है ठीक है तो जॉन डो को लेट्स से हमने कुछ काम दिया दैट ही हैज टू वर्क ऑन अ फीचर ए उसको ना कोई मैंने फीचर पकड़ा दिया दैट ये कोड है फीचर ए पे काम करो तो बाय कन्वेंशन जॉन क्या करेगा जॉन को क्या करना चाहिए एक न्यू ब्रांच बनाएगा क्या करेगा एक न्यू ब्रांच तो वो ब्रांच क्या करेगा हेड से एक न्यू ब्रांच बनाएगा ठीक है तो यानी कि एक और रेलवे ट्रैक बनेगा ठीक है तो इसको ऐसे अजूम करते हैं एक और रेलवे ट्रैक बनेगा इस ब्रांच का कुछ भी नेम हो सकता है फॉर एग्जांपल इसको हम बोल सकते हैं जॉन ब्रांच ठीक है तो इसको हम नाम दे देते हैं जॉन ब्रांच वैसे इस तरह से नेम नहीं देते ब्रांचेस का बट ठीक है जॉन ब्रांच एंड ये जो जॉन ब्रांच है ये इसने कहां से निकाली ये इसने कहां से निकाली इस पर्टिकुलर हेड से निकाली ठीक है तो यहां से एक न्यू ब्रांच निकली अब जॉन क्या करेगा जॉन अपने चेंजेज को खुद की ब्रांच में पुश करेगा जॉन अपने चेंजेज को कहां रखेगा खुद की ब्रांच में तो जॉन ने कुछ काम किया तो ये बेसिक येलो कलर का होगा तो जॉन कुछ काम कर रहा है ठीक है जॉन कुछ काम कर रहा है जॉन कुछ काम कर रहा है जॉन कुछ काम कर रहा है इंडिपेंडेंटली वो अपना काम कर रहा है इसमें ठीक है उसको कितने कमिट्स लगे उसको फोर कमिट्स लग गए इस काम को करने में मीन वाइल पीयूष मेन में ही काम कर रहा है तो पीयूष ने क्या किया पियूष ने बेसिकली कुछ और चेंजेज को पुश कर दिया एंड हमारा जो हेड है वो यहां पर शिफ्ट हो चुका है तो ध्यान से देखना दैट हमारा हेड अब यहां पर है जॉन ने अपने चेंजेज को यहां से निकाला था व्हिच इज ओके अब जॉन पियूष के पास आएगा वो बोलेगा दैट मेरा जो काम है वो हो चुका है कंप्लीट एंड मेरी ब्रांच का नाम नाम क्या जॉन ब्रांच अब पीयूष क्या कर सकता है इस पर्टिकुलर ब्रांच को वापस से मेन के अंदर क्या करेगा मर्ज कर देगा वापस से क्या करेगा मर्ज कर देगा एंड गिट क्या करेगा इन चारों का इन चारों का एक सिंगल कमिट बनाएगा एक सिंगल कमिट इस कमिट को हम येलो करते हैं इस कमिट का एक मैसेज हो सकता है मर्च जॉन इन मेन जितने भी जॉन के चेंजेज है वो एक कमिट के अंदर मर्ज हो गए एंड वो हम यहां पर मर्ज कर देंगे तो इससे क्या क्या हुआ जॉन के सारे चेंजेज हमारे ओरिजिनल कोड के अंदर आ गए ठीक है हमने उसको बेसिकली मर्ज किया एंड उसके बाद हम इस पर्टिकुलर ब्रांच को डिलीट भी कर सकते हैं ऐसे भी पड़ी रहने दे सकते हैं तो इसको हम कर देते हैं डिलीट ओके तो बेसिकली जॉन ने एक सेपरेट ब्रांच के अंदर वर्क किया एक सेपरेट लाइन के अंदर यहां पे उसके चेंजेज आ गए एंड उसके बाद जो भी पीयूष के चेंजेज है वो आगे चलते जाएंगे तो बेसिकली जॉन ने मे बी 10 कमिट्स लगाए 20 कमिट्स लगाए तो बेसिकली उसने डिफरेंट ब्रांच के अंदर काम किया जब उसका काम हो गया उसने मर्ज कर दिया अब अगर कोई मुझे बोलता है भाई जॉन के चेंजेज को रिवर्ट करो राइट तो रिवर्ट कैसे करूंगा ठीक है ना एक ही तो कमिट है मुझे पता है यहां पर जॉन के चेंजेज आए थे मैं इसको रिवर्ट कर दूंगा रिवर्ट की एक अलग मतलब एक और कमिट बनता है राइट इफ यू रिमेंबर हमने जब कल रिवर्ट की बात की थी तो रिवर्ट का एक और कमिट बनता है तो एक और कमिट बनेगा जो जॉन के चेंजेज को नलीफ कर देगा एंड मेरा जो कोड है वो बहुत ही एक सीक्वेंशियल फ्लो में चल रहा है तो इस पर्टिकुलर चीज को कहते हैं ब्रांचिंग ओके तो ब्रांचिंग के अंदर सिर्फ इतना ही नहीं होता और भी बहुत सारे फीचर्स होते हैं बट आई होप दैट एक ओवरव्यू लेवल के ऊपर ब्रांचिंग समझ आ गया होगा दैट ब्रांचिंग होता क्या है ठीक है तो हम किसी भी कमिट से एक ब्रांच को निकाल सकते हैं किसी भी ब्रांच से एक और ब्रांच भी निकाल सकते हैं ब्रांचेस के अंदर हम काम करते हैं एंड उसके बाद हम उस ब्रांच को मेन ब्रांच के अंदर पुश कर देते हैं ठीक है अभी हमारे पास एक ही ब्रांच है यू कैन सी मेन अब मैं बताता हूं ब्रांचेस कैसे बनती है ठीक है अब इसको विजुलाइज करना इज वेरी इंपोर्टेंट अभी के लिए मैं क्या करूंगा मैं यहां पर ना गेट लॉक करूंगा ठीक है गेट लॉक करते हैं अभी हम कौन सी ब्रांच में है तो उसको हम चेक कर सकते हैं गेट ब्रांच करके तो मैं यहां पर करूंगा गेट ब्रांच एंड एंटर मैं अभी मेन ब्रांच के अंदर हूं ठीक है गेट लॉक करते हैं तो यहां पे ना मैं अपने इन सारे कमिट्स को कर लेता हूं कॉपी एंड मैं उनको यहां पर ना पेस्ट करूंगा तो ये है मेरे अभी के कमिट्स एंड हेड कहां पर है हेड इस पर्टिकुलर कमिट के ऊपर है ठीक है अब मैं यहां पे ये तो है मेन का यह तो है मेन का अब मैं क्या करूंगा यहां से ना एक न्यू ब्रांच निका लूंगा ठीक है यहां से मैं एक न्यू ब्रांच निका लूंगा तो ब्रांच कैसे बनाते हैं तो इसकी दो कमांड्स होती है तो या तो हम कर सकते हैं गेट ब्रांच एंड ब्रांच का नेम ओके ब्रांच का नेम तो ऐसे हम एक ब्रांच बना सकते हैं ठीक है तो हम करते हैं तो यहां पे हम करते हैं गेट ब्रांच क्या बनाऊ ब्रांच का नेम बताओ ब्रांच का नेम बनाते हैं पीयूष वर्क ओके पीयूष हान फीचर ऐसे बना देते हैं एंटर तो अभी क्या हुआ अगर मैं यहां पे गेट ब्रांच करता हूं तो यू विल सी दैट अब मेरे लोकल पे दो ब्रांचेस हैं ठीक है अब मेरे लोकल मशीन के ऊपर दो ब्रांचेस हैं ये अभी पुश नहीं की अभी हम जो भी काम कर रहे हैं ना अपने लोकल गिट पे कर रहे हैं तो मेरे लोकल गिट के ऊपर दो ब्रांचेस है लेकिन अगर हम यहां पे जाके रिफ्रेश करते यू विल सी अभी यहां पर एक ही ब्रांच है यहां पर नहीं बनी वो ओके व्यू ऑल भी करेंगे तो यू कैन सी दैट यहां पर एक ही ब्रांच है अभी ठीक है मेरे लोकल के ऊपर अब दो ब्रांचेस हैं ठीक है लेकिन मैं अभी किस ब्रांच पे हूं मैं तो अभी इसी ब्रांच के ऊपर हूं तो मुझे इस ब्रांच के अंदर स्विच करना है तो आई कैन से गेट चेक आउट चेक आउट एंड ये वाली ब्रांच एंटर सो नाउ यू कैन सी अगर मैं गेट ब्रांच करता हूं अब मैं पीयूष फीचर वाली ब्रांच पर आ चुका हूं ठीक है अगर मैं यहां पे गिट लॉक करता हूं गिट लॉक हान हान 1 लाइन हान हान व वनला एंड एंटर यू कैन सी सारे कमिट्स मेरे पास हैं लेकिन मैं कौन सी ब्रांच के ऊपर हूं पीयूष तो मतलब कि विजुलाइज करना बहुत इंपॉर्टेंट है ठीक है तो हमने क्या किया हमने एक न्यू ब्रांच बना ली ठीक है हमने ना एक न्यू इसको ऐसे नहीं बनाते एक काम करते हैं हमने एक न्यू ब्रांच बनाई इस ब्रांच का नेम क्या है तो इसको हम ट्रांसपेरेंट करते हैं वापस एंड इस ब्रांच का नेम है पीयूष हाइन फीचर एंड ये जो ब्रांच है ये मैंने किस कमिट से निकाली ये मैंने इस पर्टिकुलर कमिट से निकाली है ठीक है अब मैं अपना जो भी काम है ना वो इस ब्रांच के अंदर करूंगा अब मैं अपना जो भी काम है वो इस ब्रांच के अंदर करूंगा इंडिपेंडेंटली तो मैं क्या कर सकता हूं लेट्स से हम ना यहां पर एक फंक्शन ऐड कर देते हैं फंक्शन ठीक है नॉट दिस आई कैन से फंक्शन न्यू फीचर ड कुछ भी एक नया फीचर ऐड कर रहे कसोल डलॉग दिस इज अ न्यू फीचर तो बेसिकली मैं कुछ कोड में कंट्रीब्यूट कर रहा हूं मेरी ब्रांच के अंदर राइट कौन सी ब्रांच है मेरी अगर हम वापस से गट ब्रांच करते हैं यू कैन सी ये मेरी ब्रांच है अब मैं क्या कर सकता हूं मैं इसके अंदर करूंगा गेट ड डॉट गट कमिट गिट कमिट हान एम न्यू फीचर एडेड एंड मैं करूंगा यहां पर ठीक है गिट लॉग करते हैं अब हम गिट लॉक करके देखते हैं तो गेट लॉक करते हैं तो यू कैन सी दैट मेन तक तो यहां पे था लेकिन मैंने अपनी ब्रांच के अंदर क्या किया एक और कमिट कर दिया इस कमिट को कर लेते हैं कॉपी तो यानी कि अब क्या हुआ मेरी ब्रांच के अंदर एक नया कमिट है और इस कमिट की ये आईडी है तो ये मेरी ब्रांच के अंदर है मेन के अंदर नहीं है मेरी ब्रांच के अंदर है ठीक है बहुत बढ़िया हम और भी कर सकते हैं ठीक है हम और भी कमिट्स कर सकते हैं लो मैं मैंने एक और लाइन ऐड कर दी न्यू फीचर ए मैं वापस से कमिट कर लेता हूं तो वापस से हम करेंगे गिट अ गट ड डॉट फिर हम कर लेते हैं गट कमिट हान m एंड इसको हम बोलते हैं न्यू फीचर एडेड अगेन ठीक है एंड उसके बाद अगर अब मैं गेट लॉक करता हूं तो यू कैन सी दैट ठीक है मेरी ब्रांच के अंदर अब दो कमिट्स हो गए ठीक है मेरी ब्रांच के अंदर अब क्या हुआ दो कमिट्स हो गए तो यह मेरा दूसरा कमिट है मेरी ब्रांच के अंदर है मेन के अंदर नहीं है ठीक है अगर मैं यहां पे इंटरेस्टिंग अपना गिट ग्राफ ओपन करता हूं जो मैंने पिछली वीडियो में दिखाया था व्हाट यू विल सी इज विजुलाइजेशन देखो दैट हुआ क्या यहां तक मेन था मेन से मैंने अपनी एक न्यू ब्रांच निकाल ली एक्चुअली मैं ना ये यहां पर भी अच्छे से दिखता था फॉर सम रीजंस मुझे वो बटन नहीं दिख रहा अ जस्ट वन सेकंड अ ठीक है मुझे ना वो बटन नहीं दिख रहा एक गिट ग्राफ का एक और बटन होता था अ ठीक है तो यू कैन विजुलाइज दैट क्या हो रहा है मेन से मैंने एक न्यू ब्रांच निकाली अब मैं क्या करूंगा मैं इसको पुश करूंगा ठीक है ये तो मेरे लोकल चेंजेज है ना ये तो मेरी लोकल ब्रांच है अब मैं इसको पुश करूंगा अगर मैं यहां पर गिट पुश करूंगा ना तो एक एरर आएगा वो बोलेगा कि यार ये जो ब्रांच है ना तुम्हारी ये ना तुम्हारी लोकल ल के ऊपर तो है लेकिन रिमोट के ऊपर ये वाली ब्रांच एजिस्ट ही नहीं करती बिल्कुल सही बात है बिकॉज़ अभी तो हमने लोकल पे बनाया तो उसके लिए हम क्या कर सकते हैं हम बोल सकते हैं गेट पुश हाइन हाइन सेट अप स्ट्रीम ओरिजन दे तो ये क्या करेगा पहले लो रिमोट पे ये वाली ब्रांच बनाएगा एंड उसके बाद मेरे कोड को पुश कर देगा ठीक है तो एंटर करते हैं एंड ये हो गया तो ये बोल रहा है यार तुमने एक न्यू ब्रांच बनाई है ये वाली ठीक है वापस चलते हैं रिफ्रेश करते हैं नाउ व्हाट यू विल नोटिस इज मेन के अंदर तो छह कमिट्स ही हैं मेन के अंदर अभी भी छह कमिट्स हैं 1 2 3 4 5 6 ठीक है लेकिन यहां पर क्या हुआ यह बोल रहा है पीयूष फीचर के अंदर पीयूष फीचर के अंदर कुछ चेंजेज हैं पीयूष फीचर में कितने कमिट्स हैं आठ कमिट हैं क्यों छह तो पहले वाले ही हैं दो और आ गए ठीक है तो अब अगर मैं यहां पे क्या करता हूं ये बोल रहा है यार ये जो ब्रांच है ना दिस ब्रांच इज टू कमिट्स अहेड ऑफ़ मेन बिल्कुल सही बात है क्योंकि इसके अंदर दो कमिट्स हैं जाके देखते हैं अब यह क्या करेगा कंपेयर कर रहा है यह कंपेयर कर रहा है पीयूष फीचर को मेन के अंदर कंपेयर कर रहा है तो वो बोल रहा है अगर हम इनको कंपैरिजन करते हैं तो यार यह कुछ न्यू लाइने हैं जो हमारे आएंगी तो मेन में ये नहीं है हमारे में है तो मैं यहां पे रिव्यू कर सकता हूं कि अगर जॉन ने कुछ काम किया है तो उसने क्या काम किया तो वो मुझे सारा प्लस माइनस करके दिखा देगा अब मैं क्या कर सकता हूं मैं यहां पर एक पुल रिक्वेस्ट बना सकता हूं ठीक है अब यहां पर ना अब हमारा काम क्या है हमारा काम तो हो गया एक अलग ब्रांच के अंदर अब मुझे ना इसको वापस से इसके अंदर मर्ज करना है राइट मुझे ना वापस से इसके अंदर मर्ज करना है अब मैं मर्ज कैसे कर सकता हूं मैं सीआई से भी कर सकता हूं मैं यहां से भी कर सकता हूं ठीक है तो कैसे करें तो एक काम करते हैं पहले हम सीआई वाला तरीका देखते हैं तो मैंने क्या किया मैं वापस से ना गेट चेक आउट कर लूंगा मेन के अंदर तो गेट चेक आउट कर लेते हैं गेट चेक आउट मेन एंटर तो अभी अ चेक आउट के मैंने स्पेलिंग गलत कर दिए जस्ट ए सेकंड तो चेक आउट मेन एंड एंटर अभी मैं कहां पर हूं मेन के अंदर ह एंड यू कैन सी मेरे पास वो कोड नहीं है मैं क्या करूंगा मैं यहां पर पहले करता हूं गेट ब्रांच एंड मैं करूंगा एंटर अब देखो मैं क्या कमांड रन करूंगा मैं यहां पे बोलूंगा गट गट मर्ज ठीक है किसको मर्ज करना है मुझे ना ओरिजिन ओरिजिन क्या है सर्वर की यह वाली ब्रांच को मर्ज करना है समझ रहे हो क्या कह रहा हूं मैं बोल रहा हूं गेट मर्च ओरिजिन ओरिजिन क्या है ओरिजिन मतलब अगर हमने जब रिमोट सेट किया था तो हमने बोला था ना ये ओरिजिन है ओरिजिन के ऊपर ना यह एक ब्रांच है जिसको मुझे मर्ज करना है जैसे मैं एंटर करूंगा यू कैन सी मेरा वो कोड आ गया वापस अब मैं क्या करूंगा अब अगर मैं यहां पर गिट गिट स्टेटस करता हूं तो यू विल सी दैट ठीक है अभी क्या है मेरी जो लोकल मेन है उसके अंदर मैंने मर्ज कर लिया अब अगर मैं यहां पे वापस करता हूं गिट पुश ठीक है तो अभी हुआ क्या लोकल के अंदर मैंने इन दो कमिट्स को इन दो कमिट्स को मेरी मेन के अंदर मर्ज कर लिया तो अगर यहां पे गिट लॉक करते हैं ठीक है गिट लॉक हाई फन हाइफ मान लाइन करते हैं तो गिट लॉक यू कैन सी बेसिकली ये बोल रहा है ट तुमने ना क्या किया तुमने ना मर्ज कर लिया तुमने इसको मर्ज कर लिया अब हम कर देते हैं इसको गिट पुश एंड एंटर तो जैसे मैं इसको गिट पुश एंड एंटर करूंगा तो यू विल सी व्हाट विल हैपन ये उसको पुश कर देगा दैट्ची जाते हैं एंड कोड में जाते हैं मैंने मर्ज करके वापस पुश कर दिया मेन में अब मेन के अंदर हो चुके हैं एट कमिट्स मेन के अंदर कितने कमिट्स हो चुके हैं एट कमिट्स तो ये दो कमिट्स कहां से आए ये दो कमिट्स बेसिकली कहां से आए थे ये दो कमिट्स हमारे आए थे क् अ दूसरी ब्रांच से ठीक है ये था था एक तरीका अब मैं आपको दिखाता हूं दूसरा तरीका मैं क्या करूंगा अभी मैं मेन के अंदर हूं मैं यहां पे करूंगा गेट चेक आउट हान ब एक न्यू बनाच बनाते हैं फीचर बी ओके फीचर हान b यहां पे भी हम कुछ चेंजेज कर देते हैं ठीक है तो यहां पे ना एक और फीचर ऐड कर देते हैं न्यू फीचर ऐड b तो यहां पे मैं बोलूंगा न्यू फीचर ड b कुछ चेंजेज कर दिए ठीक है तो गट डड गट कमिट अ फीचर ब एडिट एंड फिर मैं करूंगा गेट पुश ठीक है गेट पुश में एरर आएगा न्यू ब्रांच है इसको कॉपी एंड एंटर तो इससे क्या होगा मेरी अब एक न्यू ब्रांच बन गई ठीक है कोड में वापस चलते हैं यू कैन सी फीचर बी तो यहां पे मैं करूंगा पुल रिक्वेस्ट मैं यहां पे एक पुल रिक्वेस्ट में जाऊंगा मैं यहां पे एक बना सकता हूं न्यू पुल रिक्वेस्ट कौन सी ब्रांच से बनाना है मुझे फीचर बी से बनाना है किस ब्रांच में मर्ज करना है मेन के अंदर मर्ज करना है ठीक है अ ये चेंजेज आएंगे ठीक है यार क्रिएट अ पुल रिक्वेस्ट एंड मैंने बोला टाइटल क्या है फीचर बी डेड एंड इसको हम कर देंगे क्रिएट पुल रिक्वेस्ट तो बेसिकली अब क्या हुआ मैंने एक पुल रिक्वेस्ट बनाई दैट प्लीज मेरी ना ये वाली ब्रांच जो मेरी ये वाली ब्रांच है इसको पुल कर लो मेन के अंदर जो भी मेंटेनर होगा इस कोड का वो फाइल चेंजेज में जाके देख सकता है दैट ठीक है क्या-क्या चेंजेज आ रहे हैं और कितने कमिट्स आएंगे एक ही कमिट आएगा ठीक है कन्वर्सेशन में जाके अगर उसको लगता है कि ये सब कुछ सही है वो यहां पे क्लिक कर देगा मर्ज एंड हम उसको बोलेंगे मर्ज ठीक है तो मर्ज हो गया अभी ये जो मर्ज हुआ यह जो मर्ज हो गया यह जो हमारी पोल रिक्वेस्ट क्लोज हो गई यह कहां पर हुई सर्वर के ऊपर हुई यह कहां हुई सर्वर के ऊपर तो सर्वर वाले उसमें तो मर्ज हो गई लेकिन मेरे लोकल वाले में तो मर्ज नहीं हुई ना सर्वर वाले पे हमने उसको मर्ज कर दिया लोकल वाले पे मर्ज नहीं किया राइट तो मैं यहां पे क्या करूंगा वापस से मैं गिट चेक आउट करूंगा हमारी मेन ब्रांच के अंदर एंड मैं यहां पर करूंगा गिट पुल गिट पुल क्या करेगा रिमोट के ऊपर अगर कोई भी कमिट्स है रिमोट के ऊपर अगर अगर कोई भी एक्स्ट्रा कमिट्स हैं जो मेरे पास नहीं है उनको वापस पुल कर लाएगा गेट पुल करो तो इसको ये सिंक कर देगा हमारे सर्वर के साथ सिंक किया एंड यू कैन सी हमारा वो फीचर यहां पर भी आ गया तो इस तरह से हम ब्रांचिंग को यूज कर सकते हैं तो अब अगर मैं अपने कमिट्स में जाता हूं जो 10 कमिट्स है यू कैन सी दैट मर्ज अ पुल रिक्वेस्ट हान व फ्रॉम दिस वन तो बेसिकली उसने यहां पर वो बना दिया ठीक है तो इस तरह से हम क्या कर सकते हैं हम बेसिकली इसको मर्ज कर सकते हैं तो इस तरह से ये चीजें काम करती है तो इसको कहते हैं ब्रांचिंग अब बात करते हैं दैट ब्रांचेस का जो नेम है वो कैसा होना चाहिए राइट ब्रांचेस का नेम कैसा होना चाहिए तो अगर हम यहां पे सर्च करते हैं गेट ब्रांचिंग नेम कन्वेंशन गेट ब्रांच नेम कन्वेंशन ओके तो यहां पर हम कुछ अच्छा सा आर्टिकल खोलते हैं तो मैंने पहले कभी खोला नहीं है मैं भी ऑन द स्पॉट ही खोल रहा हूं ठीक है हां तो ये होता है तो इसको क्या कहते हैं ग्रुपिंग टोकस तो हम क्या करते हैं हम हमेशा ना एक टैग यूज करते हैं एक ग्रुपिंग यूज करते हैं वीप वर्क इन प्रोग्रेस फीचर बग और जंक तो ब्रांचेस का जो नेम है वो कैसा होना चाहिए ठीक है कंपनीज में जब आप काम करोगे तो जब भी आप ब्रांच निकालो तो ब्रांच नेम कैसा होना चाहिए देखो पहले किस चीज के ऊपर आप काम कर रहे हो क्या आप एक नए फीचर के ऊपर काम कर रहे हो या फिर क्या आप एक बग के ऊपर काम कर रहे हो तो लेट्स से मैं एक फीचर के ऊपर काम कर रहा हूं तो मेरी ब्रांच नेम कुछ ऐसा होना चाहिए गेट चेकआउट ओके गेट चेकआउट या फिर गेट ब्रांच ओके आई कैन से गेट ब्रांच तो नाम होना चाहिए फीच ओके फीट मतलब फीचर स्लैश लेट्स से मैं क्या कर रहा हूं मैं ना चैटिंग फंशन डल रहा ह आई कैन से चैट फीचर आई कैन से ऐड एडिंग अ आई कैन से लाइक यू नो ऐड चैट सपोर्ट तो बेसिकली ब्रांच से मुझे पता लग रहा है दैट ये ना एक फीचर है और ये ब्रांच क्या कर रही है एक चैटिंग सपोर्ट डाल रही है ठीक है सिमिलरली और क्या हो सकते है एग्जांपल्स एक हो सकता है गेट ब्रांच एंड मैं बना सकता हूं फीचर लेट्स से आप कोई फीचर बना रहे हो मे बी कोई इंटीग्रेशन बना रहे हो ठीक है किसी तरह के इंटीग्रेशन यू कैन से youtube1 इंटीग्रेशन सो इससे क्या हो रहा है क्लियर हो रहा है ठीक है अगर आपको ई बग फिक्स कर रहे हो तो कुछ ऐसा हो सकता है गेट ब्रांच ओके देन यू कैन से बग स्लश बग का नेम लेट्स से कोई बटन काम नहीं कर रहा तो आई कैन से लॉगइन नॉट वर्किंग कुछ ऐसा तो इससे क्या होगा इससे पता लग रहा है कि ठीक है आप एक बग के ऊपर काम कर रहे हो इस ब्रांच के अंदर जो लॉग नॉट वर्किंग के ऊपर काम कर रहा है तो इस तरह से हमें अपने ब्रांचेस को बनाना चाहिए तो अगर आप कोई वर्क इन प्रोग्रेस कर रहे हो दैट स्टफ आई नो वनट बी फिनिश सून तो उसके लिए आप डब्ल्यू आईपी यूज कर सकते हो फीचर के लिए फीच बग के लिए बग जंक बेसिकली कुछ एक्सपेरिमेंट कर रहे हो तो आप उसको जंक में डाल सकते हो ठीक है तो ऐसे हमें अपने ब्र का नेम देना चाहिए ठीक है एक और चीज हम क्या करते हैं हम ना पहले गेट ब्रांच करते हैं गेट ब्रांच करते हैं फिर हम एक ब्रांच का नेम देते हैं लेट्स से फीचर स् फीचर ए तो फीचर ए उसके बाद हम क्या करते हैं हम उसके अंदर चेक आउट करते हैं सो हम बोलते हैं गेट चेक आउट गेट चेक आउट एंड फिर हम बोलते हैं फीचर स्ल फीचर ए तो बेसिकली दो कमांड्स हमें यूज करनी पड़ती हैं नंबर वन टू क्रिएट अ ब्रांच नंबर टू चेक आउट करने के लिए लेकिन इसको आप क्या कर सकते हो एक ही कमांड में भी कर सकते हो गिट चेक आउट हा फन बी एंड उसके बाद हमारी ब्रांच का नेम तो ब्रांच का नेम हो सकता है फीच स् फीचर बी तो बेसिकली यह दोनों कमांड्स एक ही काम करेंगी तो या तो आप दो अलग-अलग कमांड्स करो या फिर आप एक ही कमांड के अंदर भी काम कर सकते हो बेसिकली ये क्या करता है ये जो हान बी है ना ये बेसिकली गेट ब्रांच का काम करता है तो आप एक ही कमांड के अंदर भी ये चीज कर सकते हो ठीक है जस्ट एन एक्स्ट्रा इंफॉर्मेशन तो ये होती है ब्रांचिंग अब अगर आप ब्रांचिंग को थोड़ा सा और अच्छे से समझना चाहते हो आप क्या कर सकते हो एक वेबसाइट है तो यहां पे हम सर्च करेंगे गिट विजुलाइजेशन ओके गिट विजुलाइजेशन एंड इसमें ना एक बहुत ही कमाल की वेबसाइट है ये वाली g.g. विजुलाइजिंग गट इसको हम क्लिक करते हैं विजुलाइजिंग गट तो इसमें क्या होता है ये ना आपको एक विजुलाइजेशन देता है दैट किस तरह से चीजें काम कर रही है तो यहां पे व्हाट यू विल सी इज एक फ्री एक्सप्लोरर है फ्री एक्सप्लोर विद रिमोट तो यहां पे हमें सिलेक्ट करना है फ्री एक्सप्लोर विद रिमोट अब देखो यहां पे विजुलाइज कैसे कर रहा है मैं इसको थोड़ा छोटा कर लेता हूं बिकॉज ये बहुत बड़ी स्क्रीन पे आ रहा है तो इसको हम थोड़ा छोटा कर लेते हैं या तो अभी यह क्या दिखा रहा है मुझे दैट यह मेरा कमांड लाइन है ये मेरा लोकल है और ये मेरा ओरिजिन है ओरिजिन क्या होता है रिमोट अभी क्या है मास्टर ब्रांच के अंदर है हम तो यहां पे अगर हम कमांड एग्जीक्यूट करते हैं मैं इसको जूम इन नहीं कर पा रहा ओके तो अगर मैं यहां पे बोलता हूं गेट ब्रांच एंटर अभी मैं किस ब्रांच के ऊपर हूं मास्टर पुरा पहले मास्टर ब्रांच होती थी मेन ब्रांच अब उसका नाम हो चुका है मेन ओरिजन में ये है यह मेरा कमिट है फर्स्ट कमिट इसका मैसेज है ठीक है तो मैं इसको यहां पे ला फर्स्ट मैसेज तो अब देखो मैं क्या करूंगा लोकल पे मैंने कमिट करता हूं तो गेट कम ट हान m अ यू नो ए बी सी कुछ भी कर देते हैं एंटर तो ये क्या कर रहा है यू कैन सी दैट फर्स्ट कमिट के बाद हमारा एक और कमिट आया ए बी सी मास्टर के ऊपर हेड यहां पर है लेकिन अभी ओरिजिन के ऊपर नहीं है बिकॉज मैंने इसको पुश नहीं किया एक और कमिट कर दिया गेट कमिट हान एम एकस वाईजी एंटर यू कैन सी एक और कमिट बना अब अगर मैं यहां पे करता हूं गिट पुश जैसे गिट पुश करूंगा यू कैन सी ओरिजिन के साथ सिंक हो गया ठीक है लोकली मैं क्या कर सकता हूं एक ब्रांच बना सकता हूं गिट चेक आउट हान बी एक ब्रांच बनाते हैं फीच फीचर स् फीचर ए एंटर कैन यू सी एक फीचर ए बनी फीचर ए के अंदर कुछ कमिट्स करते हैं तो आई कैन से ये हाइन m आई कैन से ए ठीक है उसके बाद मैं यहां पे बोल सकता हूं एक और बनाते हैं बी सो यू कैन सी दैट ये क्या हो रहा है ये अलग फीचर में जा रहे है ये एक अलग फीचर ब्रांच है ठीक है अब मैं वापस से आ जाता हूं ठीक है मैं वापस से गिट चेक आउट कर लेता हूं मेन के अंदर ठीक है मेन के अंदर सॉरी नॉट मेन यहां पर मास्टर है सॉरी मास्टर एंड यहां पर मैं क्या करूंगा मैं यहां पर कुछ कमिट्स फिर से करूंगा कमिट अह वन एंड कमिट करते हैं टू तो बेसिकली देखो क्या हुआ हेड जो मास्टर ब्रांच है उसके अंदर यह लीनियर फ्लो चल रहा है और यह अलग ब्रांच का है यह दो अलग ब्रांच के हैं राइट अब मैं क्या कर सकता हूं मैं इस पूरे को उठा के गिट पुश कर सकता हूं पूरे को उठा के हम कर देते हैं गिट पुश ओके पुश एंड एंटर यू कैन सी ठीक है तो हमारी हेड पुश हो गया हमारा यह वाली ब्रांच पुश हुई अब मैं क्या कर सकता हूं मैं इसको उठा के यह जो मेरी फीचर a ब्रांच थी जिसके अंदर ये तीन कमिट्स हैं इनको मैं उठा के मेन में मर्ज कर सकता हूं राइट तो वो कैसे करते हैं गेट मर्ज एंड उसके बाद मैं बोल सकता हूं फीचर स्ल फीचर हान ए एंड एंटर ठीक है अ ओके ये बोल रहा है ऑलरेडी अप टू डेट ओके फॉर सम रीजंस यहां पे पुश वाली कमांड कोई कमा काम नहीं कर रही है मे बी ये बहुत पुराने वर्जन पे है ठीक है अ तो यहां पे ना कुछ एग्जांपल्स हैं तो थोड़ा बहुत एक्सपेरिमेंट करने के लिए आप इस वेबसाइट को यूज़ कर सकते हो तो फॉर सम रीजंस वो वाली कमांड काम नहीं कर रही है एक्चुअली इसके अंदर जो गिट का वर्जन है ना वो बहुत पुराना है तो कुछ कमांड्स है जो सिर्फ नए गेट में अवेलेबल है और वो यहां पे काम नहीं करती बट ठीक है अगर आपको थोड़ा विजुलाइज करना है तो आप इसको थोड़ा देख सकते हो एनीवे कमिंग बैक टू दी टॉपिक ठीक है तो ब्रांचिंग का हल्का-हल्का कांसेप्ट तो क्लियर हो गया होगा दैट ठीक है ब्रांचेस क्या होती है ब्रांचेस के अंदर हम किस तरह से वर्क करते हैं किस तरह से हम उसको मर्ज करते हैं अब यहां पर एक बहुत ही इंपॉर्टेंट चीज आती है जब आपको ब्रांचेस का पता है आपको क्रिएट ब्रांचेस का पता है तो यहां पे मैं कमांड लिख देता हूं एक बार आपके लिए तो एक तो हमें पता है दैट हम क्या कर सकते हैं हम गेट ब्रांच कर सकते हैं ठीक है गेट ब्रांच एंड उसके बाद हम यहां पे क्या बोलते हैं ब्रांच का नेम ब्रांच नेम एंड उसके बाद हम क्या कर सकते हैं हम इसके अंदर चेकआउट कर सकते हैं फर हम बोलते हैं गेट चेक आउट एंड उसके बाद सिमिलरली यहां पर भी हम ब्रांच का नेम डालते हैं या फिर हम इसको एक ही कमांड में भी कर सकते हैं तो एक ही कमांड में कैसे करते हैं गेट चेक आउट हान b हान अ सॉरी हान बी एंड उसके बाद यहां पर हम अपना देते हैं ब्रांच का अंडरस्कोर नेम तो बेसिकली यह दो कमांड जिके सा हम ब्रांचे साथ काम कर सकते हैं ठीक है अब ब्रांचिंग टैग्स क्या होते हैं बेसिकली इन्हीं को टैग्स कहते हैं यह जो है ना जैसे फीचर है या फिर यह बग है इन्हीं को कहते हैं ब्रांचिंग टैग्स तो बेसिकली हमें बोलना चाहिए क्या हमारा फीचर है देन फीचर का नेम तो इस तरह से हमें अपने ब्रांचिंग नेम करना चाहिए अब बहुत इंपॉर्टेंट हम ना दो तरीकों से वैसे तीन तरीके होते हैं बट मेजर्ली दो तरीके होते हैं जिससे हम एक ब्रांच को मर्ज कर सकते हैं हमारे कोड के अंदर बहुत इंपॉर्टेंट कांसेप्ट है ये ओके अभी हम क्या कर रहे थे अभी ना हम सिंपल मर्ज का यूज कर रहे थे अभी हम सिंपल मर्ज का यूज कर रहे थे ओके तो मर्ज क्या करता है लेट्स से हमारा ना कोड का जो फ्लो है वो कुछ ऐसा चल रहा है तो ये हमारा एक कमिट है ठीक है ये हमारा एक कमिट है एंड इस कमिट के बाद ये एक कमिट है ये भी एक कमिट है ये भी एक कमिट है ये भी एक कमिट है एंड ये सारा चल रहा है मेन ब्रांच के ऊपर कहां पे चल रहा है मेन ब्रांच के ऊपर एंड अभी हमारा जो हेड है वो कहां पर है अभी हमारा हेड यहां पर है ठीक है लेट्स से मैंने यहां पर क्या किया एक न्यू ब्रांच बनाई ठीक है मैंने यहां पर क्या किया एक न्यू ब्रांच बनाई तो ये मेरी बन गई एक न्यू ब्रांच एंड इस ब्रांच को एक नेम देते हैं दैट ये मेरे क्या है एक फीचर ब्रांच है फीचर स् फीचर न a ठीक है बहुत बढ़िया मैंने एक फीचर ब्रांच बनाई देखो अब हम क्या करेंगे इस फीचर ब्रांच के अंदर भी तो कुछ कमिट्स होंगे करेक्ट इस फीचर ब्रांच के अंदर भी कुछ कमिट्स होंगे एंड मीन वाइल हो सकता है किसी और डेवलपर ने हेड के अंदर भी कुछ चेंजेज कर दिए तो अभी ये मेरी स्टेट है ठीक है एंड इसका हेड कहां पर है इसका हेड यहां पर है अब यहां पर हमें मर्ज करना है यहां पर हमें क्या करना है मर्ज करना है अब देखो मर्ज कैसे कर सकते हैं पहला तरीका तो है हम सिंपल फॉरवर्ड मर्ज कर सकते हैं तो ये क्या करेगा अगर मैं मैं सिंपल गेट मर्ज वाली कमांड करता हूं यह क्या करेगा इन चारों कमिट्स को उठाएगा इन चारों कमिट्स को उठाएगा उसका ना एक सिंगल कमिट बना देगा तो देखो इसने क्या किया एक सिंगल कमिट बनाया लेट्स से इसका कलर येलो कर लेते हैं इसने क्या किया इसको ना यहां पर मर्ज कर दिया तो यहां पर हम क्या कर रहे हैं इसको मर्ज कर रहे हैं ओके इसको थोड़ा छोटा कर लेते हैं बहुत ज्यादा बड़ा आ रहा है मर्ज कर दिया यहां पर ठीक है तो यह यहां पर हो गया मर्ज एंड उसके बाद यू कैन जस्ट कंटिन्यू टू वर्क तो बेसिकली हुआ क्या यहां पर ना चार कमिट्स को हमने एक के अंदर स्क्वाश कर दिया एक तरह का हमने क्या किया उस चारों कमिट्स का एक कमिट बना दिया इस कमिट का नाम हो सकता है मर्ज फीचर अ स्ल फीचर ए एंड हमने क्या किया मेन के अंदर उसको मर्ज कर दिया तो ये एक तरीका होता है तो अभी अगर हम वापस जाते हैं एंड यहां प हम कमिट्स को देखते हैं तो यू कैन सी बी के केस में यही हुआ था हमने एक सिंगल कमिट बनाया मर्ज फुल रिक्वेस्ट दिस वन ठीक है इससे प्रॉब्लम क्या हुआ हमारी ना हिस्ट्री लूज हो गई हमार ना हिस्ट्री लूस हो गई देखो टेक्निकली क्या था ये हिस्ट्री है एक तरह की कमिट्स क्या होता है एक तरह की हिस्ट्री होती है तो लेट्स से यूजर यहां पर डाल रहा थाट इस पॉइंट प मैंने ये किया इस पॉइंट पे मैंने ये किया इस पॉइंट प मैंने ये किया इस पॉइंट प मैंने ये किया हमने ना हिस्ट्री को लूज कर दिया क्योंकि हमने उसको एक ही मर्ज में कमिट कर दिया लेटस से मुझे सिर्फ इस कमिट को रिवर्ट करना है मुझे सिर्फ और सिर्फ इस कमिट को रिवर्ट करना है कैन आई डू दैट नो क्या होगा अगर मैं इसको रिवर्ट करूंगा तो चारों के चारों रिवर्ट होंगे क्योंकि हमने उसको एक मर्ज करके मेन में ले आए तो ये होता है मर्ज ठीक है नॉर्मली मर्ज ही किया जाता है अगर कुछ प्रॉब्लम आ रही है तो हम पूरी की पूरी ब्रांच को ही रिवर्ट कर देते हैं नॉर्मली इट्स मर्ज तो इसको कहते हैं मर्ज करना दूसरा होता है रिबेस करना दूसरा होता है रिबेस करना ओके अब मैं बताता हूं रिबेस क्या होता है तो इसको एक मिनट कॉपी करते हैं तो दूसरा तरीका होता है रिबेस तो रिबेस में क्या होता है अगर हम सेम एग्जांपल को वापस से उठाते हैं तो मैं इसी को कॉपी कर लेता हूं ओके इसी को हम वापस कॉपी करते हैं एंड इसी को हम वापस से यहां पे पेस्ट करते हैं तो रिबेसिंग के केस में क्या होता है हम इसको मर्ज नहीं करते हम इसको ऐसे मर्ज नहीं करते तो इसको हटाओ इसको भी हटाओ हम क्या करते हैं जब हम रिबेसिंग करेंगे गिट रिबेस तो बेसिकली हम क्या करते हैं हम इस पूरी चीज को उठाते हैं हम इसको आगे मूव कर हम इस पर्टिकुलर लिंक को इसके साथ लिंक कर देते हैं एंड यह बेसिकली हमारा ऐसे एक लीनियर फ्लो बन जाता है तो बेसिकली क्या हुआ इसको हटाओ एंड इसको इसके साथ कनेक्ट कर दो तो बेसिकली रिबेसिंग के केस में हमारी हिस्ट्री भी मेंटेन रही एंड उसके बाद हम यहां से वापस आगे कंट्रीब्यूट करना स्टार्ट कर सकते हैं तो यह वापस तो आगे हमारा कंट्रीब्यूशन होगा एंड हेड हमारा यहां पर है तो इस चीज को बोला जाता है रिबेसिंग इससे क्या हुआ हमारी ना हिस्ट्री मेंटेन रह गई कैन यू सी दैट ये एक अलग ब्रांच के कमिट्स थे हमारी हिस्ट्री मेंटेन रह गई अगर मुझे पर्टिकुलर कमिट को रिमूव करना है तो उसको मैं रिमूव कर सकता हूं इसको कहते हैं रिबेसिंग लेकिन प्रॉब्लम क्या है अगर हम ज्यादा रिबेसिंग यूज करेंगे तो उससे ना हमारी जो कमिट हिस्ट्री है वो बहुत ज्यादा बढ़ जाएगी बहुत ज्यादा पोल्यूटर गी करेक्ट तो रिबेसिंग यूजुअली बहुत कम किया जाता है जब हमें जरूरत हो रिबेसिंग बहुत कम किया जाता है जब हमें जरूरत हो यूजुअली कंपनीज में मर्ज ही किया जाएगा कोड रिबेसिंग बेसिकली अगर कुछ स्पेशल है तो ही हम उसको रिबेस करते हैं तो यूजुअली हमें रिबेस नहीं करना चाहिए हमें मर्ज करना चाहिए रिबेस स्पेशल केसेस में करते हैं ठीक है तो मर्ज और रिबेस के अंदर का ये डिफरेंस होता है अब देखते हैं सन टैक्स तो गिट मर्ज का तो हमने सनटेक्स देख ही लिया मर्जिंग कैसे कर सकते हैं यूआई से कैसे कर सकते हैं अब मैं दिखाता हूं गिट रिबेसिंग कैसे होता है तो अगर मैं यहां पे सर्च कर ता हूं गिट रिबेस एंड एंटर एक काम करते हैं गिट चीट शीट खोल लेते हैं कल वाली तो यहां पे हम सर्च करते हैं गिट चीट शीट तो ये गिट हब की चीट शीट मिलेगी हमें तो ये जो चीट शीट है इसके अंदर हम सर्च करते हैं रिबेस तो ये रहा तो रिबेसिंग कैसे करते हैं तो बेसिकली हम क्या करते हैं गिट रिबेस कौन सी ब्रांच को रिबेस करना है ठीक है तो इसकी एक एग्जांपल दिखाता हूं हम जाएंगे यहां पर वापस हमारे कोड के अंदर अभी हम कौन सी ब्रांच के अंदर है अभी हम मेन ब्रांच के अंदर है तो यहां पे अगर मैं गेट ब्रांच करके एंटर करता हूं मेन ब्रांच के अंदर है एक काम करते हैं गेट चेकआउट करते हैं गेट चेकआउट हान बी का आई विल यूज हान बी तो हान बी एंड इसको मैं बोल सकता हूं फीचर स्ल फीचर हान c इसके अंदर कुछ कमिट्स करते हैं ठीक है इसके अंदर हम कुछ कमिट्स करते हैं तो यहां पे हम इसी फंक्शन को कॉपी कर लेते हैं न्यू फीचर एडेड सी तो इसको ना मैं मल्टीपल कमिट्स करूंगा तो गिट कमिट हान m अ कमिट वन ठीक है अ सॉरी गिट ऐड तो किया ही नहीं हमने तो इसको मैं यहां पे एक ही कमांड में भी कर सकता हूं गिट ड डॉट एंड ये तो इसको मैं हान a कर सकता हूं एंटर तो एक ही बार में ऐड और कमिट भी कर देगा का एक और करते हैं सी एंड इसको हम बोल देते हैं यू नो सी फिर से करते हैं गेट कमिट ये हमारा हो गया कमिट टू इसको हम वापस से डुप्लीकेट करते हैं इसको हम करते हैं डी इसको हम वापस करते हैं कमिट थ्री तीन कमिट्स हो गए तो एक काम करते हैं गेट ग्राफ को ओपन करते हैं तो यू कैन सी सी के अंदर तीन कमिट्स हैं राइट और ये मर्जिंग दिखा रहा है ये दिखा रहा है दैट से हमने एक न्यू ब्रांच निकाली थी वो वो ब्रांच वापस जाके मर्ज हो गई तो ये थोड़ा सा एक विजुलाइजेशन दे रहा है तो अभी हमारे पास तीन कमिट्स है अब मैं क्या कर सकता हूं मैं गेट चेकआउट करूंगा वापस कहां पे मेन के अंदर मेन के अंदर राइट अब मैं बोलूंगा गिट रिबेस कौन सी ब्रांच को रिबेस करना है मुझे करना है फीचर स् फीचर सी एंटर हो गया रिबेस अब अगर मैं गट लॉग हान हान 1 लाइन करता हूं यू विल सी दैट इसके अंदर हम पहले यहां पर हमारे पास मर्ज था हमने एक ही कमिट के अंदर मर्ज कर दिया था लेकिन यहां पर क्या हुआ हमारी कमिट हिस्ट्री मेंटेन रही तो अब अगर मैं गेट ग्राफ करता हूं यू विल सी दैट मेन के अंदर ही तीनों कमिट्स आ गए एंड वापस हम इसको कर देते हैं गेट पुश तो क्यू एंड गेट पुश करते हैं मेन के ऊपर एंटर किया तीन कमिट्स आएंगे बिकॉज हमने रिबेसिंग किया था वापस चलते हैं यूआई के ऊपर एंड यहां पर हम करते हैं रिफ्रेश तो यू विल सी दैट हमारे तीनों कमिट्स एज इट इज आ गए बिकॉज हमने रिबेसिंग का यूज किया था तो इसको कहते हैं रिबेसिंग इससे हमारी हिस्ट्री लूज नहीं होती ओके तो यह वाला जो प्रोसेस था दिस इज नोन एज मर्जिंग प्रोसेस यह होता है मर्ज और इसको कहते हैं रिबेस ओके सो आई होप दैट ये रिबेसिंग एंड मर्जिंग का कांसेप्ट भी क्लियर है तो इसको हम कहते हैं गट गिट मर्ज एंड रिबेस सो आई होप दैट इस पर्टिकुलर पॉइंट ऑफ टाइम पे हमें काफी ज्यादा नॉलेज है गिट क्या होता है गिट हब क्या होता है किस तरह से गिट को हम यूज कर सकते हैं कोलैबोरेशन के लिए ओके तो बेसिकली ये एक हमारी चीज अभी रहती है जो है स्टैशेज चीज है वो भी मैं आपको अभी बताता हूं तो ये बेसिकली बिगनर ट्यूटोरियल था गट के अंदर और भी बहुत सारी एडवांस चीजें होती हैं बट उनको तुम ज्यादा यूज नहीं करोगे कंपनीज के अंदर कंपनीज के अंदर 99 पर ऑफ द टाइम्स गिट ड गिट कमिट गिट पुश गिट ब्रांच गिट चेकआउट यही चीजें हैं जो होती है एंड गिट मर्ज इसके अलावा बाकी जो चीजें हैं जैसे गिट रिवर्ट करना या फिर गिट रिसेट करना वो काफी कम यूज होती है बट ठीक है हमने उनके बारे में भी पढ़ ही लिया ठीक है कमिंग बैक टू द लास्ट थिंग तो लास्ट चीज क्या है हमारे पास हमारे पास है स्टैस स्टैशेज फुल चीज है अगर हम वापस जाते हैं लेट्स से मेरे कोड के अंदर ना कुछ चेंज है मेरे कोड के अंदर ना कुछ चेंजेज कैन यू सी अगर मैं यहां पे गेट डिफ करता हूं तो मेरे कोड के अंदर ये चेंजेज है अब लेट्स से क्या हुआ रिमोट पर ठीक है रिमोट पर ना किसी ने क्या किया मेन के अंदर ना कुछ कोड बदल दिया ठीक है अब रिमोट पे चलते हैं यहां से बदलते हैं मैं अपने लोकल से नहीं बदलूंगा इंडेक्स में ना यहां पर कुछ एडिट करते हैं यहीं से तो मैं यहां पे ना पीयूष गर्क न्यू कर देता हूं ठीक है यहां पे मैं पीयूष गर्क न्यू यहीं से कमिट भी कर सकते हैं तो ये एक बेनिफिट है तो यहां से मैं बोलूंगा कमिट कमिट मैसेज क्या है अपडेट index.js कमिट डायरेक्टली टू मेन ब्रांच एंड कमिट अभी देखो क्या हुआ अगर मैं मेरे जो रिमोट है ना वहां पर तो चेंज हो गया तो अगर मैं यहां पर कमिट्स में जाता हूं अगर मैं कोड में जाता हूं एंड मैं यहां पर कमिट्स में जाऊंगा यू कैन सी दैट ठीक है किसी ने अपडेट कर दिया index.js को रिमोट के ऊपर को किसी और डेवलपर ने कर दिया लेकिन मेरे लोकल में तो ये चेंजेज नहीं है ना मेरे लोकल में ये कैसे आएंगे मुझे गिट पुल करना पड़ेगा मुझे गिट पुल करना पड़ेगा जैसे ही मैं गिट पुल करूंगा वो बोलेगा यार देखो तुम्हारे पास ना कुछ अनटच चेंजेज है मैं गिट पुल नहीं कर सकता यार ये तो गड़बड़ हो गई मेरे को लेटेस्ट कोड चाहिए रिमोट से मेरे को मेरे फ्रेंड का फोन आया दैट मैंने ना कुछ बहुत इंपॉर्टेंट कोड चेंज किया है मुझे उसको पुल करना है लेकिन मैं पुल नहीं कर सकता बिकॉज़ मेरे पास कुछ चेंजेज है एंड यह भी ना वर्क एंड प्रोग्रेस चेंजेज हैं तो वो बोल रहा है अगर तुम्हें गिट पुल करना है या तो तुम इन चेंजेज को पहले टैच करो कैसे गिट ड डॉट कर लो गेट ऐड और गेट कमिट कर लो फिर गेट पुल कर लो बट नहीं ना मे अभी ये चेंजेज कंप्लीट ही नहीं हुए मुझे इनको नहीं करना ड डॉट तो मैं क्या करूं मतलब मेरे लोकल पे कुछ अनस्टैक्ड चेंजेज हैं मेरे तो बेसिकली अभी प्रॉब्लम क्या हो रहा है मेरे लो लोकल मशीन के ऊपर ना कुछ चेंजेज हैं जो अभी कंप्लीट नहीं हुए एंड किसी ने रिमोट के ऊपर कुछ कोड अपडेट कर दिया मुझे वो कोड चाहिए लेकिन लोकल चेंजेज को मैं अभी कमिट और ऐड नहीं करना चाहता तो इस केस में मैं क्या करूंगा मैं गेट स्टैशेज ये क्या करेगा जो भी चेंजेज थे ना उनको ना एक टेंपरेरी डायरेक्टरी के अंदर रख लेगा यू कैन सी मेरे चेंजेज चले गए चेंजेज चले गए ठीक है तो गिट स्टैस्ट ने क्या किया मेरे चेंजेज को ना टेंपरेरिली उठा के कहीं रख लिया अब मैं गिट पोल कर सकता हूं जैसे मैं गिट प पुल करूंगा यू विल सी यहां पे प्यूष कर्क न्यू हो जाएगा तो गेट पुल करते हैं यू कैन सी पश कर्क न्यू अब मैं बोलूंगा गिट स्ट अप्लाई एंड एंटर ये क्या करेगा जो भी मेरे चेंजेज इसने स्टैशेज अप्लाई कर देगा मेरे चेंजेज वापस आ गए और वापस से ये अनचेंज्ड है अन स्टैस्ट है तो इसको कहते हैं स्टैशेज कर सकते हैं अपने लोकल चेंजेज को तो यहां पे हमें मिलेगा गिट स्टैशेज कर सकते हैं सेव्ड मॉडिफाइड एंड स्टेज चेंजेज गिट स्टैस लिस्ट कर सकते हैं गिट स्ट पॉप एंड गेट स्टैस ड्रॉप बेसिकली पॉप से क्या होता है ये एक स्टैक में रखता है मान लो मैंने तीन बार गेट स्टैस किया तो तीन बार एक स्टैक बनेगा हमेशा टॉप वाला वापस रिअप्लाई होता रहता है हर गेट स्टैस अप्लाई पे हमेशा टॉप वाला अप्लाई होता जाएगा तो इस चीज को कहते हैं स्टेशिंग तो स्टैशेज मॉडिफाइड ट्रैक्ड फाइल्स इन ऑर्डर टू चेंज ब्रांचेस तो बेसिकली अगर आपको ब्रांच चेंज करना है कुछ गिट पुल करना है तो गिट स्टशंड इसी के साथ हमारा जो गिट एंड गिट हब का कोर्स है वो हो जाता है खत्म सो आई होप दैट हमने बहुत एंजॉय किया थ्रू आउट द सीरीज हमने बहुत सारी नई चीजों को पढ़ा एंड हमें अब पता है गिट क्या होता है गिट हब क्या होता है ब्रांचिंग क्या होती है मर्जिंग स्ट्रेटेजी क्या होती है रिबेसिंग क्या होता है मर्जिंग क्या होता है एंड किस तरह से हम ब्रांचेस को बना सकते हैं एंड पूरा हमारा जो गिट फ्लो है वो कैसे काम करता है सो विद दैट यह वीडियो होता है एंड आई होप आप सबको यह वीडियो आया होगा बहुत पसंद वीडियो अच्छा लगा तो लाइक एंड सब्सक्राइब जरूर करना मिलते हैं हम आपको नेक्स्ट वीडियो के अंदर अंट्या टेक केयर