हाय एवरीवन, मैं हूं आपकी श्रद्धा दीदी एंड वेलकम टू अपना कॉलेज। आज के ट्यूटोरियल के अंदर हम डिटेल में कवर करने वाले हैं गिट एंड गिट के बारे में। तो हम डिटेल में बिल्कुल स्क्रैच से गिट एंड गिटब को पढ़ेंगे। अगर हमें कोई आईडिया नहीं है कि गिट क्या होता है? गिट क्या होता है? इनको हम यूज़ कैसे करते हैं? क्या कमांड्स हम यूज़ करते हैं? तो बिल्कुल घबराने की बात नहीं है। सारी चीजों को बिल्कुल बेसिक से लेकर अच्छे खासे लेवल तक हम कवर कर रहे होंगे। इसके साथ-साथ सारी जो गिट की कमांड्स होती
हैं उनके लिए एक चीटशीट भी हमने आपको दे रखी है। उसको भी आप जाकर डाउनलोड कर सकते हैं। अब गिट की जब हम बात करते हैं तो गिट एक काफी इंपॉर्टेंट टूल होता है जो हर एक डेवलपर को चलाना आना चाहिए। क्योंकि अगर हम किसी भी तरीके की डेवलपमेंट करते हैं तो उसमें जब हम लार्ज प्रोजेक्ट्स के ऊपर काम करेंगे या इनफैक्ट अगर हम स्मॉल प्रोजेक्ट्स के ऊपर भी काम करते हैं तो गिट की बेसिक नॉलेज होना जरूरी है। साथ के साथ अपने प्रोजेक्ट्स को हम किस तरीके से गिटब के ऊपर अपलोड कर सकते हैं
वो हमें पता होना चाहिए। गिट की बेसिक कमांड्स के बारे में हमें पता होना चाहिए। गिट गिट के बीच में डिफरेंसेस क्या होते हैं? गिटब को कैसे हम चला सकते हैं? ब्रांचेस जैसे, फोकिंग जैसे डिफरेंट-डिफरेंट कांसेप्ट्स के मतलब क्या होते हैं? ये सारी चीजें एक अच्छे डेवलपर को पता होनी चाहिए। और इन सारी चीजों को हमने अच्छे से डिटेल में इस ट्यूटोरियल के अंदर कवर कर रखा है। तो अब स्टार्ट करते हैं अपने गिट एंड गिट के साथ। अब जब भी हम गिट एंड गिटब को पढ़ेंगे, वैसे तो बहुत सारी चीजें हैं जिनको कवर किया
जा सकता है। पर इस ट्यूटोरियल के अंदर हम सबसे इंपॉर्टेंट चीजों को डिटेल में कवर कर रहे होंगे। यानी ऐसी चीजें जिन्हें हम डे टू डे बेसिस पर प्रैक्टिकली यूज़ कर रहे होंगे। सबसे पहले बात करते हैं कि गिट एक्चुअली होता क्या है? गिट हमारा एक तरीके का वर्जन कंट्रोल सिस्टम होता है। वर्जन कंट्रोल सिस्टम्स हमारे ऐसे टूल्स होते हैं जो हमें हेल्प करते हैं टू ट्रैक चेंजेस इन कोड। इसको ऐसे सोच सकते हैं कि जैसे हमारे पास बैंक अकाउंट होता है। तो बैंक अकाउंट के अंदर पूरी की पूरी स्टेटमेंट होती है कि अकाउंट के
अंदर कब कोई अमाउंट क्रेडिट हुई, कब डेबिट हुई, कब उस अमाउंट के ऊपर कितना टैक्स लगा? तो इस तरीके की काफी सारी इंफॉर्मेशन होती है। ऐसी ही इंफॉर्मेशन जब हम अपने किसी कोड या अपने किसी प्रोजेक्ट के लिए सेव करवाते हैं तो उसको करवाते हैं इन द फॉर्म ऑफ अ वर्जन कंट्रोल सिस्टम। यानी वर्जन कंट्रोल सिस्टम प्रोजेक्ट की पूरी की पूरी हिस्ट्री ट्रैक करता है कि उस कोड के अंदर कब कोई नई फाइल ऐड हुई, कब कोई फाइल डिलीट हुई। कब हमने कोड के अंदर किस लाइन के अंदर क्या अपडेट किया, क्या चेंज किया, कौन
सी लाइन को डिलीट किया। तो इस तरीके की सारी की सारी हिस्ट्री वर्जन कंट्रोल सिस्टम्स ट्रैक करते हैं और गिट ऐसा ही एक काफी पॉपुलर वर्जन कंट्रोल सिस्टम है। अब गिट को यूज़ करने के कई सारे रीज़ंस हैं। सबसे पहला गिट इज वन ऑफ द मोस्ट पॉपुलर वर्जन कंट्रोल सिस्टम्स इन द वर्ल्ड। यानी ये आपको सिर्फ ऐसा नहीं है कि हम डे टू डे बेसिस पर अपने सिर्फ प्रोजेक्ट्स के लिए यूज़ करेंगे। कंपनीज़ के अंदर काम करते टाइम भी काफी सारी कंपनीज़ के अंदर हम गिट एंड गिट को ही यूज़ कर रहे होते हैं। इनफैक्ट
मैं अपना खुद का एग्जांपल लूं तो Microsoft में मेरी जो इंटर्नशिप थी तो उसके कोड को मैनेज करने के लिए भी हमने गिट एंड गेट को यूज़ किया था। सेकंड रीज़न है कि गिट हमारा फ्री एंड ओपन सोर्स होता है। यानी इसको कोई भी यूज़ कर सकता है, फ्रीली यूज़ कर सकता है। हमें कुछ पे नहीं करना पड़ता। एंड तीसरा इट इज़ फास्ट एंड इट इज़ स्केलेबल। यानी कितनी भी छोटी स्केल का या कितनी भी बड़ी स्केल का प्रोजेक्ट हो गिट हमारे हमेशा काम आ सकता है। अब गिट को प्राइमरीली हम दो कामों के लिए
यूज़ करते हैं। इनमें से सबसे पहला काम होता है टू ट्रैक द हिस्ट्री। किसकी हिस्ट्री? हमारे कोड की हिस्ट्री। जैसे फॉर एग्जांपल हम किसी बड़े से प्रोजेक्ट पर काम कर रहे हैं। हम एक वेबसाइट बनाने की कोशिश कर रहे हैं। वेबसाइट के ऊपर हम एक-एक करके बहुत सारे फीचर्स ऐड कर रहे हैं। सबसे पहले फीचर्स में हो सकता है कि हमने साइन अप के लिए जो पेज है उसे ऐड किया। उसके बाद हो सकता है कि हमारी वेबसाइट के ऊपर कुछ बटंस हैं। हमने उन्हें ऐड किया। उसके बाद हो सकता है हम कुछ और एक
नया ही फीचर लेकर आए। जैसे हेल्प के लिए हमने एक फॉर्म अलग से अपनी वेबसाइट के ऊपर ऐड कर दिया। अब हो सकता है कि ये जो हेल्प का फॉर्म है इस फीचर को बिल्ड करने में या तो काफी ज्यादा टाइम लग रहा है इस फीचर को बिल्ड करने में। बहुत सारे हमें प्रॉब्लम्स आ रहे हैं। तो हम चाहते हैं कि इस फीचर को हम बाद के किसी फेज में बिल्ड करेंगे। हम चाहते हैं वापस से हमारा कोड वैसे ही हो जाए जैसे हमने बटंस वाले फीचर तक कंप्लीट किया था अपने कोड को। तो उसके
लिए एक तरीका तो ये है कि हम मैनुअली बैठकर एक-एक फाइल डिलीट करें जो हमने अलग से हेल्प के लिए लिखी है। एक-एक लाइन ऑफ कोड को डिलीट किया जाए। हर चेंज को डिलीट किया जाए, रिवर्ट किया जाए। पर अगर हम लार्ज स्केल प्रोजेक्ट्स पर और इंपॉर्टेंट क्रूशियल प्रोजेक्ट्स पर काम करते हैं तो मैनुअली ये सारी चीजें करना रिस्की है। इसीलिए हमें कुछ ऑटोमेटिक सॉफ्टवेयर चाहिए जो क्या करें जो हमें बता दें कि बटंस तक कितना कोड लिखा गया था। यानी पुराना हमारा एक हिस्ट्री होगा कि यहां तक हमने ये लाइन ऑफ कोड लिखी थी
और हम चाहे तो कभी भी उसी फेज में जा सकते हैं अपने प्रोजेक्ट को लेकर। तो इसीलिए हमारे प्रोजेक्ट की हिस्ट्री ट्रैक करना इंपॉर्टेंट है जो गिट हमारे लिए करता है। दूसरा मेजर काम जो गिट हमें करने में हेल्प करता है वो है टू कोलैबोरेट। कोलैबोरेट का मतलब होता है कि किसी टीम के साथ काम करना। जैसे लेट्स सपोज अभी तो हो सकता है कि कॉलेज के अंदर अगर हम हैं तो हम अपने सोलो प्रोजेक्ट्स पर काम कर रहे हैं। पर कंपनी के अंदर जाकर तो एक-एक प्रोजेक्ट पर बहुत सारे डेवलपर्स काम कर रहे होते
हैं। तो ऐसे में बहुत इंपॉर्टेंट हो जाता है ट्रैक करना कि एक प्रोजेक्ट के ऊपर कौन से फीचर में क्या-क्या चेंजेस किस डेवलपर ने किए हैं और सारे लोग एक दूसरे के चेंजेस को ओवराइट ना कर दें। ओवराइट मतलब सेम ही फाइल के अंदर अगर एक व्यक्ति चेंज कर रहा है और दूसरा व्यक्ति चेंज कर रहा है तो कौन से व्यक्ति के कौन से डेवलपर के जो चेंजज़ हैं वो एक्सेप्ट होने चाहिए उस फाइल के अंदर। इस तरीके की कई सारी प्रॉब्लम्स आती है और ऐसी प्रॉब्लम्स को रॉल्व करने का काम हम करते हैं यूजिंग
गिट। तो गिट हमें कोलैबोरेशन में हेल्प करता है। गिट हमें हमारी कोड की हिस्ट्री ट्रैक करने में हेल्प करता है। तो गिट सिर्फ हमारे लिए एक टूल नहीं है। एक जरिया नहीं है। ये एक्चुअली एक स्किल है जिसको सीख कर हम ना सिर्फ अपने प्रोजेक्ट्स पर एक्चुअली अपनी डेवलपर जर्नी के अंदर थ्रूउ इसे इंप्लीमेंट कर रहे होंगे। अब ये तो हो गया गिट के बारे में। नेक्स्ट हम बात करते हैं कि गिटब क्या है? गेट हमारा एक टूल है यानी एक सॉफ्टवेयर उसे हम समझ सकते हैं जो हमारे कंप्यूटर सिस्टम के ऊपर चलता है। पर
gh hub हमारी एक वेबसाइट होती है जो अलाउ करती है डेवलपर्स को टू स्टोर एंड मैनेज देयर कोड यूजिंग इट। यानी हमारी gith hub.com एक प्रॉपर वेबसाइट है जिसके ऊपर डेवलपर्स अपना पूरा का पूरा कोड अपलोड कर सकते हैं। फिर उस कोड के अंदर वहीं पर कुछ-कुछ चेंजेस कर सकते हैं। या फिर अगर हमने अपने सिस्टम के अंदर चेंजिस किए हैं तो उन चेंजेस को वहां पर रिफ्लेक्ट करा सकते हैं। अब गिट के ऊपर जनरली हम एज डेवलपर्स अपना पूरा कोड अपलोड करते हैं और जब भी हम अपना रे्यूमे बनाते हैं यानी जब भी हम
प्लेसमेंट के लिए या इंटर्नशिप के लिए अप्लाई करते हैं तो हम अपने प्रोजेक्ट्स के सामने अपने गेट का लिंक दे देते हैं। जहां पर कोई भी एचआर जो है या इंटरव्यूअर जो है जाकर वेरीफाई कर सकता है कि हमने एक्चुअली उस प्रोजेक्ट पर काम किया है और उसका पूरा का पूरा कोड चाहे तो जाकर चेक कर सकता है। तो GitHub ऐसी वेबसाइट है जिसके ऊपर हम अपने प्रोजेक्ट्स का पूरा का पूरा कोड अपलोड कर देते हैं। और ये जो हमारे प्रोजेक्ट्स होते हैं इनको जनरली हम फोल्डर की फॉर्म में अपलोड करते हैं। यानी इसको ऐसे
सोच सकते हैं जैसे हमारी Instagram की प्रोफाइल होती है। Instagram प्रोफाइल के ऊपर हम चाहें तो अपनी फोटोज जो है सारी की सारी अपलोड कर सकते हैं। अब कोई व्यक्ति है जो मॉडलिंग करता है या कोई व्यक्ति है जो एक्टर है तो वो क्या कर सकते हैं? अपने पूरे के पूरे पोर्टफोलियो के अंदर अपनी Instagram की प्रोफाइल का भी लिंक डाल सकते हैं कि यहां पर भी मेरी फोटो या यहां पर भी मेरा काम अवेलेबल है। उसी तरीके से एज डेवलपर्स हम अपने रे्यूमे या अपने पोर्टफोलियो के साथ अपनी गिटब का लिंक डाल सकते हैं
ये बताने के लिए कि यहां पर मेरा सारा का सारा काम अवेलेबल है। और ये जो प्रोजेक्ट्स फोल्डर्स की फॉर्म में हम अपलोड करते हैं। इन फोल्डर्स को गिट की भाषा में हम रेपोजिटरी कहते हैं। रेपोजिटरी यानी हमारा फोल्डर जिसके अंदर हमारा प्रॉपर कोड होता है। तो बहुत सारी रेपोजिटरीज़ हैं जिनको हम गीब के ऊपर अपलोड कर सकते हैं। अब शॉर्ट में इनको हम रेपोज़ भी बोल रहे होंगे क्योंकि रेपोजिटरी काफी भारी सा वर्ड होता है। पर बेसिक सेंस यही है कि GitHub हमारी वेबसाइट है जिसके ऊपर हम अपने प्रोजेक्ट्स या दूसरे कोड को अपलोड
कर रहे होते हैं। एंड इनफैक्ट GitHub के ऊपर हम दूसरे लोगों के कोड को दूसरे लोगों की रिपोजिटरीज को भी देख सकते हैं। इनफैक्ट उन रेपोज़िटरीज की हम कॉपी बना सकते हैं और उसके अंदर खुद के चेंजेस भी डाल सकते हैं। अब गिट को पढ़ने से पहले हम गीब के ऊपर अपनी एक प्रोफाइल बनाना चाहते हैं। तो गिट के ऊपर प्रोफाइल बनाने के लिए हमें इस लिंक पर जाना होगा और प्रोफाइल बनाने के लिए हमारे पास एक ईमेल एड्रेस होना चाहिए। अब आपका ईमेल एड्रेस कोई नॉर्मल Gmail एड्रेस भी हो सकता है या फिर वो
चाहे तो आपके कॉलेज की कोई ईमेल आईडी भी हो सकती है। गेट अगर हम कॉलेज की ईमेल आईडी से साइन अप करते हैं तो हमें कुछ एडिशनल फीचर्स देती है। पर जनरली हमें अपने पर्सनल ईमेल एड्रेस के साथ भी अपनी गेटअप आईडी बनानी चाहिए। क्योंकि कॉलेज की ईमेल आईडी हो सकता है कुछ टाइम के बाद वर्क ना करें जब हम कॉलेज से ग्रेजुएट हो जाएं। तो इसीलिए एक पर्सनल ईमेल आईडी जो हमेशा हमारे पास रहेगी उसके ऊपर हमें अपनी अच्छे से गेटअप आईडी सेट अप करनी चाहिए। तो हम इस लिंक पर आ गए हैं जहां
पर हम अपने गेट का अकाउंट बनाएंगे। अब अगर हम फर्स्ट टाइम गेटअप के ऊपर साइन अप कर रहे हैं तो हमें साइन अप पे क्लिक करना पड़ेगा। नहीं तो आपके पास अगर ऑलरेडी GH का अकाउंट है तो फिर आप डायरेक्टली जाकर लॉग इन कर सकते हैं। थोड़ा सा हिस्सा आपको स्किप करना पड़ेगा। अब साइन अप की बात करें जो बिल्कुल फर्स्ट टाइम यूज़र्स हैं। हम साइन अप के ऊपर क्लिक करेंगे और यहां पर इस तरीके से हो सकता है हमारे पास मैसेजेस आए। सबसे पहले हमें अपनी ईमेल आईडी डालनी पड़ेंगी। तो हमने ऑलरेडी अपने लिए
एक ईमेल आईडी क्रिएट की है student@ apn college.in इसको कर लेते हैं कंटिन्यू। हम अपने लिए कोई भी पासवर्ड है जिसे सेट कर सकते हैं। इसे कर देते हैं कंटिन्यू। वैसे काफी वीक पासवर्ड है बट लेट्स मेक इट अ बिट स्ट्रांगर। तो यूजर नेम के लिए हम एंटर कर सकते हैं स्टूडेंट अपना कॉलेज। इसे कर लेते हैं कंटिन्यू। एंड यहां पर मुझे प्रोडक्ट रिलेटेड ईमेल्स नहीं चाहिए। वेरीफाई करना पड़ेगा कि हम एक एक्चुअल व्यक्ति हैं। यहां क्लिक कर देंगे। अब हम क्रिएट अकाउंट पर। जैसे क्रिएट का अकाउंट करेंगे, हमारी ईमेल आईडी के ऊपर हमारे पास
एक कोड आया होगा। अब यह हमारी ईमेल आईडी है। यह 8211 वाला कोड हमारे पास आया है। इसको कॉपी कर लेते हैं। पेस्ट कर लेते हैं एंड करेंगे एंटर। तो यहां पर हमसे कुछ-कुछ बेसिक डिटेल्स पूछी जा रही हैं। थोड़ा सा मिनिमाइज कर लेते हैं। नॉर्मल हमारा पेज ऐसा दिखेगा। अब यहां से पूछा जा रहा है कि टीम मेंबर्स कितने होने वाले हैं? तो हम बोलेंगे सिर्फ हम काम करने वाले हैं। आई एम अ स्टूडेंट। इसको कर देते हैं कंटिन्यू। अब यहां पर हो सकता है कुछ-कुछ ऑप्शंस आप चाहें तो चूज़ कर सकते हैं। पर
इसका ज्यादा कोई फर्क पड़ेगा नहीं। इसको कर देते हैं कंटिन्यू। एंड हमें दो ऑप्शंस दिखाई देंगी। अप्लाई फॉर योर गेट स्टूडेंट बेनिफिट्स बट हम स्टूडेंट बेनिफिट्स के लिए अभी नहीं अप्लाई करना चाहते। आप चाहें तो अप्लाई भी कर सकते हैं पर हम करने वाले हैं कंटिन्यू फॉर फ्री। एंड इस तरीके से हमारे लिए हमारा डैशबोर्ड खुलेगा। अब यहां पर काफी सारी कंफ्यूजिंग चीजें हमें दिख रही होंगी। पर हमें इतना कंफ्यूज नहीं होना। ये पूरे डैशबोर्ड को इग्नोर करके हम टॉप राइट पर जाएंगे और टॉप राइट पर हमारे पास हमारे सिंपल ऑप्शंस हमें दिखाई देंगे। सिंपल
ऑप्शंस में सबसे पहले तो हम योर प्रोफाइल पर जा सकते हैं। तो ये हमारी गेट हब की प्रोफाइल है जो हमारे लिए खुलेगी। यहां हमें हमारा यूजरनेम दिखाई देता है। यहां हमें हमारी एक्टिविटी दिखाई देती है कि कितने दिन हमने गेट के ऊपर काम किया है। कितने दिन हम गेट के ऊपर एक्टिव रहे हैं। तो ग्रीन मतलब हमने एक कंट्रीब्यूशन किया है आज यानी अपना अकाउंट बनाकर। ये हमारा ओवरव्यू है। ओवरव्यू के अलावा हमारे पास यहां रेपोजिटरीज का ऑप्शन है। रेपोजिटरीज मतलब हमारे प्रोजेक्ट्स। अभी हमारे पास कोई पब्लिक रेपोजिटरीज नहीं है। यानी अभी कोई ऐसे
प्रोजेक्ट्स नहीं है जो हम लोगों को दिखा सकें। तो सबसे पहले हम अपने गीब अकाउंट पर कुछ-कुछ चीजें करने वाले हैं। सबसे पहली चीज जो हम करेंगे वो एक नई रेपोजिटरीज बनाएंगे अपना कॉलेज डेमो के नाम से। नई रेपपोजिटरी कहने का मतलब है हम एक नया प्रोजेक्ट बनाएंगे। उसके लिए एक नया फोल्डर बनाएंगे। पर उस प्रोजेक्ट की शुरुआत हम अपने कंप्यूटर या अपने लैपटॉप से नहीं करेंगे। उसकी शुरुआत हम गेट से करने वाले हैं। तो नई रेपोज़िटरीज बनाने के लिए हम रेपोज़िटरीज के अंदर जाएंगे और इस न्यू बटन पे क्लिक करेंगे। न्यू बटन पे जैसे
ही क्लिक किया हमारे लिए कुछ ऑप्शंस आ गए। यहां हम ओनर होने वाले हैं रेपो के। एंड रेपो का हम क्या नाम रखने वाले हैं? हम वैसे तो कुछ भी नाम रख सकते हैं जो अवेलेबल हो पर हम इसे नाम देंगे अपना कॉलेज डेमो और हम चाहें तो इसे कोई ब्रीफ डिस्क्रिप्शन भी दे सकते हैं। लेट्स सपोज लेट्स गिव इट अ डिस्क्रिप्शन। दिस इज़ माय फर्स्ट गेट रेपोज़िटरी। एंड हम चाहें तो इसे प्राइवेट भी बना सकते हैं। चाहे तो इसे पब्लिक भी बना सकते हैं। प्राइवेट रेपोज़ वो होती हैं जो दूसरे लोगों को दिखाई नहीं
देंगी। सिर्फ हमें दिखाई देंगी। जैसे हमारे Instagram के ऊपर प्राइवेट स्टोरीज होती हैं जो हमारे सिर्फ फ्रेंड्स को दिखाई देती हैं। वैसा ही कुछ सिस्टम है और पब्लिक रेपोजिटरीज वो होती हैं जो सबको दिखाई देती हैं। जैसे अगर हमारा अकाउंट पब्लिक है Instagram पर तो सबको हमारी फोटोस एंड वीडियोस दिखाई देंगी। तो इसे चूज़ कर लेते हैं पब्लिक। साथ के साथ हमारे पास एक ऑप्शन आएगा इनिशियलाइज़ दिस रेपोज़िटरीज़ विद ऐड अ रीड मी। इसको हम कर देते हैं क्लिक। अब ये रीड मी क्या होती है? रीड मी हमारी एक स्पेशल टाइप की फाइल होती है
जिसके अंदर प्रोजेक्ट के बारे में डिटेल्स होती हैं। यानी जनरली जब भी हम कोई प्रोजेक्ट बनाते हैं गेटअप के ऊपर उसके साथ हमें रीड मी अगर हम इनिशलाइज़ करते हैं तो वो एक अच्छी चीज होती है। क्योंकि रीड मी के अंदर हम लिख कर बताते हैं कि ये प्रोजेक्ट क्या है? इसका नाम क्या है? इसको यूज़ कैसे करना है? हमने इस प्रोजेक्ट को क्यों बनाया है? इस प्रोजेक्ट के अंदर क्या-क्या फीचर्स हैं? एंड दूसरी रिलेटेड इनेशन। इसको क्लिक कर लेते हैं एंड यहां से क्रिएट कर लेते हैं अपनी रेपोज़िटरी। अब रेपोज़िटरी हमारी क्रिएट होकर आ
गई। एंड इस तरीके का पेज हमारे लिए खुल जाएगा। और यह पेज यहां से हमें दिख रहा है कि स्टूडेंट अपना कॉलेज अकाउंट के अंदर अपना कॉलेज डेमो नाम की एक रेपो है और उस रेपो का सारा का सारा कोड हमें यहां पर दिखाई देगा। अभी के लिए इशूज़ क्या है? पुल रिक्वेस्ट क्या है? एक्शंस, प्रोजेक्ट्स ये सारी की सारी चीजें इग्नोर करनी है और सिर्फ उन चीजों पर ध्यान देना है जिनको हम यूज़ करने वाले हैं। तो अगर कभी भी अपने गेटअप अकाउंट पर हम खो जाते हैं। तो खो जाने पर कुछ नहीं करना।
वापस अपने योर प्रोफाइल पर आ जाना है। तो हम अपनी प्रोफाइल पे आ जाएंगे। प्रोफाइल पे आने के बाद हम रेपोजिटरीज में जाने जा सकते हैं। अब रेपोजिटरीज में हमें अपना कॉलेज डेमो नाम की अपनी रेपोजिटरीज दिखनी शुरू हो गई है। इस पर जैसे ही हम क्लिक करेंगे हम वापस से अपनी रेपो के अंदर आ जाएंगे। यहां पर हमें दिख रहा है कि हमारे प्रोजेक्ट के अंदर एक सिंगल फाइल है रीड मीट का मतलब होता है मार्क डाउन। यानी ये जो रीड मीट फाइल है इसके अंदर रिलेटेड इनेशन स्ट होती है। और अभी रीड मी
के अंदर क्या लिखा हुआ है? है रीड मी के अंदर अपना कॉलेज डेमो नाम से इसका टाइटल लिखा हुआ है। साथ के साथ हमने जो डिस्क्रिप्शन ऐड किया था दिस इज़ माय फर्स्ट गेट रेपोज़िटरी वो वाली चीज़ यहां पर ऐडेड है। और यहां कुछ इनिशियल कमिट जैसा दिखाई दे रहा होगा 1 मिनट एगो। इनिशियल कमिट कहने का मतलब होता है कि हमने फर्स्ट टाइम कुछ कमिट किया है। कमिट मतलब कुछ चेंज किया है। जैसे हमने खाली प्रोजेक्ट बनाया और उसके अंदर रीड मी को ऐड किया। तो ये हमारा पहला चेंज है इस प्रोजेक्ट के अंदर।
तो यहां से हमें दिख रहा है कि GitHub हमारी चेंजेस को ट्रैक करता है कि ये हमारा पहला चेंज था। अब इसके अंदर एक और चेंज करके देखते हैं। चेंज करने के लिए चेंजेस को वैसे गिटहब के अंदर कहते हैं हम कमिट। यानी चेंजेस को अगर हमें फाइनल करना है तो उसको कहते हैं कमिट। अब जैसे कमिट रियल लाइफ के अंदर होता है। कमिट का मतलब होता है बेसिकली कमिटमेंट। अब जैसे रिलेशनशिप में कमिटमेंट्स होती हैं। यानी पहले हमारा एंगेजमेंट का फज़ आता है। एंड उसके बाद हमारा शादी का फज़ आता है। यानी वेडिंग का
फज़ आता है। तो, यह दो स्टेप के अंदर हमारा कमिटमेंट का प्रोसेस चलता है इन रिलेशनशिप्स। वैसा ही कुछ गिट एंड गेटब के साथ होता है। यानी गिट के अंदर सबसे पहले हमने अगर कुछ भी चेंज किया है उस चेंज को हमें ऐड करना पड़ता है और फिर उस चेंज को फाइनली जाकर हम कमिट करते हैं। कमिट का मतलब होता है चेंज अब पक्का हो गया। ऐड करने का मतलब है कि उस चेंज को हमने ऐड कर लिया कि हां अब ये चेंज कमिट करने के लिए तैयार है। तो किसी भी चेंज को फाइनल करना
गिट एंड गेटब के ऊपर टू स्टेप प्रोसेस होता है। अब गिट के ऊपर तो चेंजेस को हम ऐड कमिट दोनों करेंगे और इनको हम डिटेल में पढ़ेंगे कि ऐड कमिट एक्चुअली होते क्या है और इन्हें करते कैसे हैं। पर गिट हब के ऊपर डायरेक्टली ये जो ऐड वाला स्टेप है ये स्किप हो जाता है और डायरेक्टली हम कमिट कर सकते हैं अपने चेंजेस को। चेंजेस को कमिट करने का मतलब है कि इसका स्क्रीनशॉट ले लो और इसे मेमोरी के अंदर स्टोर कर लो कि हां इस टाइम पर ये चेंज हुआ था। तो जब हम कहते
हैं कि गिट या गटब हमारी हिस्ट्री सेव करता है। हिस्ट्री सेव करने का मतलब है कि जब-जब हमने कमिट से स्क्रीनशॉट लिया था तो तब-तब वाले वो सारी स्क्रीनशॉट सेव्ड हैं। वही हमारी हिस्ट्री है। यानी वो कमिट्स को सेव करता है इन द फॉर्म ऑफ़ हिस्ट्री। अब अगर हम अपनी प्रोजेक्ट के अंदर हमें कुछ और चेंज करना है। लेट्स सपोज कुछ चेंज करने के लिए रीड मी. के अंदर ये जो एडिट वाला सिंबल है इस पर हम क्लिक करेंगे और हमारे पास एडिट करने के लिए हमारी रीड फाइल खुलेगी। अब यह हमारी रीड फाइल खुल
गई है और इसके अंदर हम कुछ भी चेंजज़ कर सकते हैं। लेट्स सपोज़ एक और लाइन एक्स्ट्रा ऐड करते हैं। और यहां पर मैं ऑथर ऐड करने वाली हूं। श्रद्धा खापरा व्हिच इज़ माय नेम। आप चाहें तो अपना नेम ऐड कर सकते हैं। एज ऑथर। ऑथर मतलब कौन इस प्रोजेक्ट के अंदर चेंजज़ कर रहा है। तो यहां से ये तो हमने एक चेंज कर दिया। पर ये चेंज अभी सेव नहीं हुआ। इस चेंज को सेव कराने के लिए मतलब इसका स्क्रीनशॉट लेने के लिए मुझे कमिट चेंजज़ पर जाना पड़ेगा। जैसे ही हम कमिट चेंजेस पर
क्लिक करेंगे तो कमिट चेंजेस के अंदर हमारा एक कमिट मैसेज होता है। कमिट मैसेज मतलब इस उसके अंदर हमें मैसेज के अंदर बताना पड़ता है कि ये जो चेंज हम कर रहे हैं इसको चेंज करने का रीज़न क्या है या क्या चेंज हो रहा है ताकि मेमोरी के अंदर सेव कर सकें। तो मतलब ये हमारी स्क्रीनशॉट का एक तरीके से हम समझ सकते हैं कि हम नाम लिख रहे हैं। तो हमारी कमिट का कुछ नाम लिख रहे हैं। इसको हम नाम दे रहे हैं अपडेट रीड मी. और अभी के लिए ये डिफॉल्ट ऑप्शन हम सेव
कर लेते हैं। इसको कर देते हैं कमिट चेंजेस। जैसे ही चेंजेस कमिट करेंगे, अब वापस से अपने कोड के अंदर क्लिक करते हैं। तो हम यहां आ गए। इस बार क्या दिखा रहा है? इस बार रीड मी के अंदर दिखा रहा है। दिस इज़ माय फर्स्ट गेट रेपोज़िटरी एंड ऑथर के अंदर दिखा रहा है मेरा नाम। इसके साथ-साथ यहां पर अपडेट रीड मीट मतलब यहां इनिशियल कमिट नहीं दिखा रहा। यहां हमारा जो नया कमिट था हमेशा जो भी हमारा कोड होता है, जो भी हमारी फाइल्स होती है हर फाइल के सामने उसका लेटेस्ट कमिट आता
है कि लास्ट यहां पर क्या चेंज हुआ था? तो लास्ट चेंज हुआ था अपडेट करने का। तो वो हमारे पास यहां पर लिख कर आ रहा है। इसके साथ-साथ एक चीज़ आप सोच रहे होंगे कि Redmi. Mmd के अंदर तो हमने इसे नेक्स्ट फाइल के अंदर ऐड किया था ऑथर को। तो ये नेक्स्ट फाइल के अंदर क्यों नहीं आया? तो रीड मी हमारी नॉर्मल टेक्स्ट फाइल्स की तरह नहीं होती। रीड मी के अंदर चेंजज़ करने के लिए हमें अलग से कुछ सिंटेक्स होता है जिसको सीखना पड़ता है। नहीं तो अगर हमें HTML आता है बेसिक
HTML तो उससे भी हम अपने रीड मी को चेंज कर सकते हैं। जैसे अगर हम यहां पर लिख दें अपना बीआर टैग। बीआर टैग का बेसिक मतलब होता है एक नेक्स्ट लाइन HTML के अंदर। पर उसे हम रीड मी के अंदर भी यूज़ कर सकते हैं। जैसे ही हम कमिट चेंजज़ करेंगे, हम यहां लिख सकते हैं अपडेट रीड मी विद नेक्स्ट लाइन या इसे लिख सकते हैं ऐड नेक्स्ट लाइन। कमिट कर दिए चेंजेस। एंड जैसे ही हमने चेंजज़ कर दिए इस बार हमारी वो जो लाइन है अब नेक्स्ट लाइन पर आ गई। दोबारा कोड के
अंदर आ जाते हैं और इस बार बेटर तरीके से हमें अपना टेक्स्ट दिखाई दे रहा है। तो रीड मी के अंदर चेंजज़ करने के लिए हम थोड़ा सा बेसिक HTML है जिसको सीख सकते हैं। उसके रिलेटेड ऑलरेडी वन शॉट बनाया हुआ है। इतना डिफिकल्ट नहीं है। वन ऑफ द इज़िएस्ट थिंग जो आप कोडिंग के अंदर सीख सकते हैं वो है HTML। तो इसको बेसिक थोड़ा सा हम पढ़ लेंगे तो चीजें क्लियर हो जाएगी। बाकी इतना ज्यादा हम इसे यूज़ भी नहीं करने वाले। तो यह बना लिया है हमने अपना पहला प्रोजेक्ट GitHub के ऊपर जिसका
नाम है हमारे पास अपना कॉलेज डेमो और इसके अंदर हमने अपना पहला कमिट भी कर दिया है। तो GitHub के साथ तो हमने शुरुआत कर दी है। अब बात करते हैं गिट के बारे में। GitHub जैसे एक वेबसाइट के ऊपर होता है पर गिट हमारा हमारे सिस्टम के अंदर यानी हमें अपने लैपटॉप और अपने कंप्यूटर के अंदर गिट को चलाना होता है। अब गिट को सेटअप करने के लिए हम कुछ-कुछ चीजें डाउनलोड करेंगे। जिसमें से सबसे पहला है विजुअल स्टूडियो कोड। विजुअल स्टूडियो कोड हमारा फ्री एंड ओपन सोर्स कोड एडिटर है। वन ऑफ़ द मोस्ट
पॉपुलर कोड एडिटर है जिसके ऊपर हम किसी भी लैंग्वेज के अंदर कोड कर सकते हैं। चाहे आप Python के अंदर कोड करते हैं, जावा के अंदर करते हैं, C++ C या फिर HTML, CSS, जावास्क्रिप्ट किसी भी लैंग्वेज के अंदर आप कोड करते हैं। जनरली उन लैंग्वेजज़ या टेक्नोलॉजीज़ को हम VS कोड के ऊपर यूज़ कर सकते हैं। ये Microsoft ने ही बनाया हुआ है। इसको जाकर सबसे पहले हमें डाउनलोड करना है। चाहे हम Windows या फिर हम मैक सिस्टम या Linux सिस्टम के ऊपर हैं। इसको डाउनलोड करने का प्रोसेस पूरा का पूरा आपको दिखाया हुआ
है। डिपेंडिंग अपॉन योर मशीन। इसके साथ-साथ अगर हम Windows यूजर हैं तो हमें गिट बैश को डाउनलोड करना है। उसको डाउनलोड और सेटअप करने का भी पूरा प्रोसेस आपको दिया हुआ है आगे। एंड अगर हम मैक के ऊपर हैं तो हमें टर्मिनल को डाउनलोड करना है। जनरली मैक मशीनंस के ऊपर टर्मिनल ऑलरेडी डाउनलोड होता है। आपको सिंपली क्या करना है? मैक मशीन के ऊपर अगर हम हैं तो फाइंडर पर जाना है और फाइंडर पे जाके सर्च करना है टर्मिनल के लिए। जैसे हम टर्मिनल के लिए सर्च करेंगे हमारे पास टर्मिनल आ जाएगा। तो जितने भी
Windows यूजर हैं उनके लिए विजुअल स्टूडियो कोड एंड Windows gb उन्हें डाउनलोड करना है। एंड वेरीफाई करने के लिए एक बार सब कुछ डाउनलोड और सेटअप हो जाता है वेरीफाई करने के लिए कि चीजें चल रही हैं क्या? एक बार अपने टर्मिनल के ऊपर हमें लिख कर देखना है गिट माइनस माइनस वर्जन। इसका मतलब होता है कि गिट माइनस माइनस वर्जन लिखने से हमारे पास गिट का वो वर्जन आ जाता है जिसको हमने डाउनलोड करके सेटअप किया है। तो अगर यह हमें सही से चीजें दे रहा है तो इसका मतलब गिट ऑलरेडी सेटअप है। और
अगर हमें सही से चीजें नहीं दे रहा तो इसका मतलब गिट को हमें सेट अप करना पड़ेगा। तो डाउनलोड करने से पहले भी अगर आपने पहले गिट के साथ काम किया है तो आप चेक कर सकते हैं कि आपके पास ऑलरेडी गेट इंस्टॉल्ड है या नहीं है। जितने भी स्टूडेंट्स मैक मशीन को यूज़ कर रहे हैं तो मैक के ऊपर हम इस तरीके से फाइंडर में जाके सर्च कर सकते हैं टर्मिनल और जैसे ही टर्मिनल हमारे पास आएगा इसे कर लेते हैं क्लियर एंड टर्मिनल को हम इस तरीके से ओपन कर सकते हैं। तो यहां
पर हमारा ये टर्मिनल खुल गया हो सकता है कि आपकी मशीन के ऊपर पहले से किसी मैक मशीन के ऊपर ऑलरेडी गिट पहले से इंस्टॉल्ड तो उसको वेरीफाई करने के लिए हमने माइनस माइनस वर्जन तो हमारे पास का वर्जन आ जाएगा और नहीं आता है तो गिट को डाउनलोड करना बहुत आसान है मैक मशीन पे हमें सिंपली क्या करना है गेट एसएमcom इस वेब वेबसाइट पर हमें जाना है तो वेबसाइट पर जाती है हम सिंपली कर सकते है डाउनलोड फॉर तो एक बार हमारा गेट सेट हो जाएगा सिस्टम के ऊपर उसके बाद हम गेट कमांड्स
के ऊपर काम करना स्टार्ट करेंगे तो सबसे पहले इसको डाउनलोड करने के लिए हम सर्च करेंगे इंटरनेट पर डाउनलोड वीएस कोड तो ये फर्स्ट जो लिंक आएगा इस पर हमें चले जाना है यहां पर साइट में मैं बता देती हूं कोड डॉट visual stud डाउनलोड अब इसमें काफी सारे ऑप्शन आ गए अब आप windows मशीन पर है windows 7 8 10 11 पर तो यहां पे आपने सिस्टम के हिसाब से 64 बिट सिस्टम है तो कौन सा डाउनलोड करना है 32 बिट कौन सा डाउनलोड करना मोस्टली लोगों का जो है 64 बिट सिस्टम होता है।
उसको आप यहां पे टिक करके डाउनलोड कर सकते हैं। अगर आप लinक्स पर है तो उसके हिसाब से आप डाउनलोड कर सकते हैं या फिर मैप पर है तो उसके हिसाब से डाउनलोड कर सकते हैं। अब जब भी आप विंड के लिए डाउनलोड करेंगे तो बीच में काफी सारे ना चेक बॉक्सेस हमारे ही आएंगे। हमें क्या करना है? इन सारे के सारे चेक बॉक्सेस को टिक कर देना है। जैसे ही टिक करेंगे हमारा विजुअल स्टडियो कोड पूरी तरह इंस्टॉल हो जाएगा और इसको अब हम फर्स्ट लाइन खोल सकते हैं। अब हम देखने वाले है इसे
विंडो सिस्टम पर हम कमांड लाइन को डाउनलोड कर सकते हैं। सबसे पहले हमें ब्राउज़र पर जाना है और इस लिंक पर जाएंगे। इस लिंक पर जाकर हमें क्लिक करना है अपने विंडोज के ऑप्शन पर। विंडोज के ऑप्शन पर जैसे ही क्लिक करेंगे हमारे पास डिफरेंट और ऑप्शन आएंगे और हम क्लिक करेंगे क्लिक टू डाउनलोड पर। क्लिक टू डाउनलोड से हमारी एक फाइल डाउनलोड स्टार्ट नहीं हो जाएगी। उस पर क्लिक करके हमारे पास ये विंडो आएगी। अब इस विंडो से हम पूरे पूरे अपने गेट को सेट अप कर सकते हैं। सेटअप करने के लिए हम सबसे
पहले क्लिक करेंगे नेक्स्ट पर। एंड उसके बाद ये जो हमारा डिफ़ॉल्ट फाइलिंग है वही रहेंगे। फिर नेक्स्ट पर चले जाएंगे। नेक्स्ट पर जाते हुए बहुत सारे ऑप्शन हमारे पास ऐसे होंगे जो टिक हो दोगे। कुछ ऐसे होंगे जो अनटिक होंगे। अब इनमें हमें एक और एडिशनल ऑप्शन है जिसे टिक करना है। व्हिच इज ऑन द डेस्कटॉप ऑप्शन। इसको टिक करेंगे। नेक्स्ट करेंगे। नेक्स्ट करेंगे। बाकी सारी चीजें हमें डिफॉल्ट कर रखनी है। दोबारा से अपने नेक्स्ट को क्लिक करना है। दोबारा से नेक्स्ट को क्लिक करेंगे। अब हम चाहेंगे तो इस ऑप्शन को चेंज करके अपना जो
नए ब्रांच का नाम है उसे हम मेन कर सकते है। वैसे ये जो हमने चेंज किया है इसका मेजर सिग्निफिकेंस हमें गिट पढ़ते टाइम पता चलेगा। टर्मिनल में इसका कोई ज्यादा फर्क नहीं पड़ेगा। अब हम ने हम क्लिक करेंगे। और यहां पर हम चूज़ करेंगे अपना यूज़ गीट हब एंड ऑप्शनल यूनिक्स टूल्स वाला ऑप्शन। यानी ये थर्ड ऑप्शन। फिर नेक्स्ट कर देंगे। उसके बाद दोबारा से नेक्स्ट इन सारी चीजों को हम डिफ़ॉल्ट छोड़ते चले जाएंगे एंड दोबारा से हम अपना नेक्स्ट नेक्स्ट क्लिक करने वाले हैं। एंड फाइनली इंस्टॉल। अब जैसे ही हमारा इंस्टॉलेशन स्टार्ट हो
जाएगा वैसे हम कर देंगे फिनिश। एंड फाइनली हमारा गेट इंस्टॉल हो चुका है। और साथ ही साथ हमारे डेस्कटॉप पर गब्श के लिए आइकॉन आ चुका है। हमें आइकॉन पर क्लिक कर सकते हैं और गेट को खोल सकते हैं। अब जैसे हम इसे खोलेंगे हमारे कुछ इस तरीके के ऑप्शन हमें दिखाई देंगे। यहां पर शुरुआत में सबसे पहले तो हमारा नाम हमें दिखाई दे सकता है। उसके बाद हमारी सिस्टम का टाइप हमें दिखाई दे सकता है। एंड उसके बाद min w 64 जैसा कुछ लिखा होगा। एंड उसके बाद टिल का ऑप्शन आ रहा होगा। टिल
के ऑप्शन का बेसिक मतलब यहां पर होता है कि हम अपनी रूट डायरेक्टरी की बात कर रहे है। उसको अभी हम आगे जाकर पढ़ेंगे। हम चाहे तो कुछ बेसिक मार्क्स लिखे टेस्ट भी कर सकते है। जैसे यहां पर हम लिख सकते है गिट माइनस माइनस वर्जन। तो उससे हम अपना गिट का वर्जन मिल जाएगा। हम एलएस कमांड को लेकर भी टेस्ट कर सकते हैं। तो एलएस कमांड यहां पर वर्क कर दी। तो उसने हमारी जितने भी चीजें थी जितनी भी फाइल्स एंड एंड एंड एंड एंड एंड एंड एंड एंड एंड फोल्डर्स थे डायरेक्टरी थी। हम
क्लियर कमांड यूज़ कर सकते हैं। तो हमारा जो विंडो है क्लियर हो जाएगी। पीडब्ल्यूडी कमांड यूज़ कर सकते हैं। इस कमांड से हमें वर्किंग डायरेक्टरी में मिल जाएगी। और अभी जो हमारी वर्किंग डायरेक्टरी है दैट इज़ यूज़र्स एंड श्रद्धा। अब हम इसे कर देते हैं क्रॉप। एंड कभी भी अगर हम इसे दोबारा खोलना तो दोबारा से हम यहां पे एस आई को यूज़ कर सकते हैं। या फिर अपने सिस्टम गिबश के लिए सर्च कर सकते है। अब गिट को इंस्टॉल एंड सेटअप करने के बाद सबसे पहले हमें गिट को कॉन्फ़िगर करना पड़ेगा। गिट को कॉफ़िगर
करने का मतलब है कि हम गिट को बता रहे हैं कि हम कौन से अकाउंट के अंदर चेंजेस करने जा रहे हैं। यानी अगर हम गिट से गिट हब के ऊपर कुछ चेंजेस करेंगे तो कौन सी ईमेल आईडी से हम चाहते हैं वो चेंजज़ हो। क्या-क्या नाम उन चेंजेस के साथ हम एसोसिएट करना चाहते हैं। तो गिट को कॉन्फ़िगर करने के लिए तो बेसिकली हम अपना यूजर नेम और बाकी सारी डिटेल्स सेट अप करते हैं कॉन्फ़िगर करने में। तो हम लिखते हैं गिट कॉन्फ़िग माइनस माइनस ग्लोबल यूजर डॉट नेम और फिर अपना नाम। गिट कॉन्फ़िग
से हम कॉन्फ़िगर करते हैं अपनी गिट को। एंड उसमें ग्लोबल लेवल पर हम कॉन्फ़िगरेशन कर रहे हैं। दो तरीके की कॉन्फ़िगरेशंस होती हैं। एक हमारी ग्लोबल लेवल पर यानी पूरे के पूरे सिस्टम के अंदर जब भी अब गिट चेंज करेगा तो वो उसी ईमेल आईडी से चेंज करेगा। और एक होता है लोकल लेवल पर। लोकल यानी कि हम किसी एक स्पेसिफिक रेपो के अंदर, किसी एक स्पेसिफिक प्रोजेक्ट के अंदर अलग अकाउंट से चेंजज़ कर रहे हैं। तो अगर हमने बहुत सारे गिट के अकाउंट्स नहीं बनाए हुए, तो सिंपली हम ग्लोबल सेटअप कर सकते हैं। ग्लोबल
कॉन्फ़िगरेशन कर सकते हैं। तो हम लिखेंगे माइनस माइनस ग्लोबल। फिर हमें सेटअप करना है सबसे पहले अपना नाम यानी यूजर डॉट नेम। तो इसको सेटअप करने के लिए हम अपने टर्मिनल को खोल सकते हैं। और अगर आप Windows मशीन पर हैं तो हमें गिट बैश को खोलना है। और अभी हम कहां पर हैं? ये टिल्ड ये टिल्ड वाला जो सिंबल है यानी ऐसा जो सिंबल होता है ये हमें दिखाता है कि हम अपने सिस्टम की रूट डायरेक्टरी के अंदर हैं। रूट डायरेक्टरी यानी मेन डायरेक्टरी। डायरेक्टरी का मतलब होता है फोल्डर। यानी हम अपने सिस्टम के
मेन फोल्डर के अंदर हैं। सबसे प्राइमरी फोल्डर के अंदर हैं। और इसी के अंदर बैठकर हम गिट को कॉन्फ़िगर करेंगे। तो सबसे पहले हम लिखने वाले हैं गेट कॉन्फिग माइनस माइनस ग्लोबल यूजर डॉट नेम एंड इसके बाद हम लिखेंगे अपना नाम। अब यहां नाम में हम वो नाम लिख सकते हैं जिससे हमने अपना गेट अकाउंट बनाया था। तो मैंने स्टूडेंट अपना कॉलेज के नाम से अपना गेट अकाउंट बनाया था। तो उसको कर लेते हैं अपना यूजरनेम सेट। एंड इसके बाद हम सेट करेंगे अपने लिए अपनी ईमेल। तो ईमेल सेट करने के लिए हम लिखेंगे गेट
कॉन्फ़िग माइनस माइनस ग्लोबल यूजर डॉट ईमेल। एंड उसके बाद डबल कोट्स के अंदर हम अपना ईमेल एड्रेस लिखेंगे। तो वो था स्टूडेंट@ अपना कॉलेज.in हमें वही ईमेल एड्रेस यूज़ करना है जिससे हमने गेट के ऊपर अकाउंट सेटअप किया था। तो ये हमने कर दिया। अब हम देखना चाहते हैं कि गेट कॉन्फ़िग से हमने क्या-क्या सेटअप किया है। तो उसके लिए हम इस कमांड को यूज़ कर सकते हैं। गेट कॉन्फ़िग माइनस माइनस लिस्ट। तो इसे लिख लेते हैं गेट कॉन्फ़िग माइनस माइनस लिस्ट एंटर किया। तो ये हमारे पास डिटेल्स आ गई कि यूजर नेम में हमने
ये नाम सेटअप किया है और यूजर ईमेल में हमने इस चीज को सेटअप किया है। तो बेसिकली हमारे पास गिट के अंदर एक क्रेडेंशियल्स हेलपर होता है जो हमारी क्रेडेंशियल स्टोर करता है। क्रेडेंशियल्स यानी हमारा यूजरनेम हो गया या हमारा नेम हो गया या हमारी ईमेल हो गई। इस तरीके की इंफॉर्मेशनेशन। तो वैसे तो गिट की जो आगे वाली कमांड्स हम पढ़ने वाले हैं उन सारी कमांड्स को हम इस टर्मिनल के ऊपर भी लिख सकते हैं। बट एक और बेटर तरीका होगा गिट को सिस्टम के अंदर यूज़ करने का विद अ कोड एडिटर। क्योंकि जनरली
जब भी हम प्रोजेक्ट्स के ऊपर काम कर रहे हैं। हम किसी कोडिंग प्रोजेक्ट के ऊपर काम करेंगे। और हम चाहेंगे कि गिट को यूज़ करने के साथ-साथ हमारे प्रोजेक्ट के अंदर चेंजेस चलते रह। तो जनरली हम अपने प्रोजेक्ट यानी कोडिंग के प्रोसेस को गिट के प्रोसेस के साथ रखना चाहते हैं। तो उसके लिए हम क्या करेंगे? उसके लिए हम अपने विजुअल स्टूडियो कोड को खोलने वाले हैं। तो अब हम विजुअल स्टूडियो कोड को खोल सकते हैं। और विजुअल स्टूडियो कोड को खोलेंगे तो इस तरीके की विंडो हमारे पास दिखाई देगी। अब इस विंडो के अंदर
इस वेलकम को क्रॉस कर देते हैं। और यहां हमने ऑलरेडी अपने सिस्टम के ऊपर एक गिट डेमो नाम का फोल्डर बनाया हुआ है। उसे हम ओपन करने वाले हैं। ओपन करते ही हम सर्च करेंगे गिट डेमो। गिट डेमो के अंदर अपना फोल्डर हम ओपन कर लेंगे। और अभी यह हमारा गिट डेमो फोल्डर है जो खाली है। इसके अंदर अभी कोई फाइल्स नहीं है, कोई एक्स्ट्रा फोल्डर्स नहीं है। और इसी के अंदर हम सारा का सारा अपना काम करने वाले हैं। अब गिट डेमो को तो हमने खोल लिया। साथ में वीएस कोड के इस वाले ऑप्शन
पे क्लिक करके हम अपने टर्मिनल को खोल सकते हैं। तो यहां से टर्मिनल वाले ऑप्शन को चूज़ करना है। और बेसिकली जो सारा का सारा टर्मिनल हमारा बाहर से रन हो रहा था वो सारा वीएस कोड के अंदर भी एक्सेसबल है। तो अभी हम कहां पर हैं? अभी हम गिट डेमो नाम के इस फोल्डर के अंदर हैं। हम चाहें तो यहां से भी गिट का वर्जन चेक कर सकते हैं। तो गिट का वर्जन हमारे पास प्रिंट होकर आ गया। इसका मतलब है गिट यहां से भी एक्सेसिबल है। इसको कर लेते हैं क्लियर। अब सबसे पहले
हम कुछ गिट की बेसिक कमांड्स के साथ शुरुआत करने वाले हैं। सबसे पहली बेसिक कमांड्स जिनकी हम बात करेंगे ये है क्लोन एंड स्टेटस। सबसे पहले बात करते हैं क्लोन कमांड के बारे में। क्लोन कमांड का काम होता है टू क्लोन अ रिपोजिटरी ऑन आवर लोकल मशीन। तो हमारे पास दो जगह होती है। एक होता है हमारा रिमोट और एक होता है हमारा लोकल। जब भी हम लोकल वर्ड यूज़ करेंगे इसका मतलब है हमारा लैपटॉप या फिर हमारा कंप्यूटर। या तो हम लैपटॉप या अपने पर्सनल कंप्यूटर की बात कर रहे हैं और उसके अंदर जो
फाइल्स हैं उनकी बात कर रहे हैं। जब भी हम रिमोट की बात करते हैं। रिमोट मतलब जो फाइल्स या जो फोल्डर्स गीब के ऊपर हैं। तो क्लोन कमांड को क्लोन का मतलब होता है डुप्लीकेट बनाना। तो क्लोन कमांड को हम यूज़ करते हैं कि हमारी किसी गिट की रेपो को अगर हमें अपने सिस्टम के ऊपर कॉपी करना है तो कॉपी करने के लिए हम अपनी क्लोन कमांड को यूज़ करते हैं। इसको लिखने के लिए हम यूज़ करते हैं गिट क्लोन और फिर अपने प्रोजेक्ट का लिंक। अब हम क्या कर सकते हैं? गेट के ऊपर जाएंगे
और यह जो अपना कॉलेज डेमो नाम का हमने प्रोजेक्ट बनाया था इस कोड नाम के ग्रीन बटन के ऊपर क्लिक करके https के अंदर इसका हम लिंक कॉपी कर लेंगे। तो इसका https का लिंक कॉपी हो गया। अब https इज़ वन ऑफ़ द ईज़िएस्ट वे टू क्लोन अ रेपोज़िटरी इंटू आवर लोकल मशीन। एंड GH भी आजकल यही प्रिस्राइब करता है कि जब हम एज अ बिगिनर GH को सीख रहे हैं, तो हम HTTPS से ही क्लोनिंग करेंगे। वैसे हम एसएसएच से भी कर सकते हैं पर उतना डिटेल में हम नहीं जाएंगे क्योंकि मोस्टली हम HTTPS
ही यूज़ करेंगे अपने प्रोजेक्ट्स के लिए। तो इसको कर लेते हैं कॉपी। कॉपी कर लिया। यहां आ गए वीएस कोड के अंदर। अभी हम गिट डेमो के अंदर हैं। और हम क्या चाहते हैं? गिट डेमो के अंदर ही हम अपना अपना कॉलेज डेमो नाम का फोल्डर लाना चाहते हैं। तो यहां हम कमांड लिखेंगे गिट क्लोन एंड फिर कंट्रोल वी या कमांड वी करके पेस्ट कर देंगे अपने लिंक को और इसे कर देंगे एंटर। जैसे ही एंटर किया यहां कुछ क्लोनिंग इंटू और ये सारी चीजें आ गई। और अब हमें दिख रहा है कि गिट डेमो
के अंदर हमारे पास एक फोल्डर आ गया अपना कॉलेज डेमो नाम से और अपना कॉलेज डेमो के अंदर हमारी ये फाइल है रीड मी. तो ये फाइल हमारे पास आ गई जिस फाइल को हमने गीब के ऊपर क्रिएट किया था। एंड इनफैक्ट अगर इसके अंदर 100 फाइल्स भी होती तो सारी की सारी हमारे सिस्टम के अंदर आ जाती। तो इस तरीके से हमारा प्रोजेक्ट क्या हुआ? हमारा प्रोजेक्ट या हमारी रेपो क्लोन हो गई हमारी सिस्टम के अंदर। हम चाहें तो अपने अब इस फोल्डर के अंदर जा सकते हैं। अब इस फोल्डर के अंदर जाने के
लिए हम अपनी टर्मिनल की एक कमांड लिखते हैं सीडी। सीडी का मतलब होता है चेंज डायरेक्टरी। यानी हम उस डायरेक्टरी के अंदर जाना चाह रहे हैं। मैं लिख भी देती हूं उसे। सीडी कमांड हमारी बेसिक टर्मिनल कमांड होती है जो हमारे मैप के ऊपर भी चलेगी जो लinक्स के ऊपर भी, Windows के ऊपर भी चलेगी। और इसका मतलब होता है चेंज डायरेक्टरी। डायरेक्टरी हमने पहले ही बात की थी। हम फोल्डर को डायरेक्टरी कहते हैं। तो जब भी हम किसी फोल्डर के अंदर जाना चाहते हैं, लेट्स सपोज यह हमारा गिट डेमो नाम का फोल्डर है। और
इसी के अंदर एक और छोटा फोल्डर है अपना कॉलेज डेमो नाम से। जब बाहर वाले फोल्डर से हम अंदर वाले फोल्डर में जाना चाहते हैं, तो उसके लिए हम सीडी लिखते हैं और फिर अपने फोल्डर का नाम। तो अंदर वाले फोल्डर का नाम है हमारे पास अपना कॉलेज डैश डेमो। अब टर्मिनल के अंदर ऑटो कंप्लीशन भी होता है। यानी अगर हमें ऑटो कंप्लीट कराना है तो हम टैब को प्रेस कर सकते हैं। तो ये ऑटो कंप्लीट करके हमें नाम दे देगा। इसको कर देंगे एंटर। तो अब हम कहां आ गए? अब हम अपना कॉलेज डेमो
के अंदर आ गए। जब भी चेक करना हो अभी हम कहां पर हैं, कौन से फोल्डर में हैं। ये देख लेना कि टर्मिनल के ऊपर परसेंटेज से पहले हमारे कौन से फोल्डर का नाम लिखा हुआ है। और टर्मिनल को कभी भी क्लियर करना हो, खाली करना हो तो उसके लिए हम क्लियर कमांड लिख सकते हैं। तो ये हो गया हमारा अपना कॉलेज डेमो फोल्डर जिसके अंदर अभी हम हैं। यानी अभी हम इस फोल्डर के अंदर हैं। इस फोल्डर के अंदर अगर हमें सारी फाइल्स देखनी है तो फाइल्स को देखने के लिए हम एलएस लिख सकते
हैं। एलएस का मतलब होता है लिस्ट फाइल्स। तो ये सारी की सारी फाइल्स हमें लिस्ट करके दे देगा फाइल्स एंड फोल्डर्स। एंटर करेंगे तो हमारे पास एक ही फाइल है अभी अपना कॉलेज डेमो के अंदर व्हिच इज़ रीड मीट अब जब भी हमारे फोल्डर्स बनते हैं सिस्टम के अंदर उनके अंदर दो तरीके की फाइल्स होती हैं। एक होती है हमारी नॉर्मल फाइल्स जो हमें दिखाई देती हैं। जैसे हमारी रीड मीट और एक होती है हमारी हिडन फाइल्स जो हमें कभी दिखाई नहीं देती जिनको हम सिर्फ टर्मिनल के थ्रू एक्सेस कर सकते हैं। तो अपनी हिडन
फाइल्स को देखने के लिए हम टाइप कर सकते हैं एक कमांड ls - a -a से क्या होगा? हमारी हिडन फाइल्स यानी ऑल फाइल्स हमारे पास आ जाएंगी। जो नॉर्मली दिख रही हैं वो तो आएंगी। हिडन फाइल्स भी आ जाएंगी। और इसको एंटर किया। तो अब यहां दिख रहा है कि हमारे पास चार चीजें प्रिंट हो कर आ गई हैं। चार चीजों में से रीड मीट तो हमें पहले ही पता थी। ये दो फोल्डर्स हमारे पास आ गए हैं। प्लस एक डॉट गिट नाम का एक फोल्डर हमारे पास आ गया है। तो जितनी भी फाइल्स
को गिट ट्रैक करता है। मतलब जिस भी फोल्डर के अंदर गिट काम कर रहा है उसकी फाइल्स की हिस्ट्री को ट्रैक कर रहा है। उन सारे के सारे फोल्डर्स के अंदर उन सारी की सारी रेपोज़ के अंदर डॉट git नाम का एक फोल्डर हमेशा होता है। तो, कैसे चेक कर सकते हैं कि उस फोल्डर के अंदर डॉट है या नहीं? हम सिंपली यह लिख सकते हैं ls-a, तो उससे हमें डॉट git दिखेगा। गेट है। मतलब ये गीब की फाइल है। तो अब इसे कर लेते हैं दोबारा से क्लियर। तो ये तो हो गई हमारी क्लोन
कमांड जिससे हम किसी भी प्रोजेक्ट को अगर गिट के ऊपर है तो उसे अपनी लोकल सिस्टम के अंदर ला सकते हैं। उसके अलावा हमारे पास होती है हमारी एक स्टेटस कमांड। स्टेटस कमांड हमारे कोड का स्टेटस हमें बताती है। और स्टेटस कमांड के लिए हम सिंपली लिख सकते हैं गिट स्टेटस। तो अपने प्रोजेक्ट के अंदर जाकर अगर हम टाइप करते हैं गिट स्टेटस। तो उससे हमारा स्टेटस आ जाता है। अभी क्या दिखा रहा है? स्टेटस में दिखा रहा है ऑन ब्रांच मेन। अब ये ब्रांच क्या होती है? मेन क्या होती है? उसके बारे में हम
बाद में बात करेंगे। बट यहां पर नोट करने वाली चीज यह है कि हमें दिखा रहा है अप टू डेट है और नथिंग टू कमिट। यानी सब कुछ अप टू डेट चल रहा है। यानी जो कोड गेटब के ऊपर है वही कोड अभी यहां पर है। पर अगर हम कोई चेंज कर दें अपने लोकल सिस्टम में तो मतलब यहां ऑथर श्रद्धा खापरा की जगह मैं यहां पर कर दूं श्रद्धा और ब्रैकेट में लिख दूं अपना कॉलेज। तो ये मैंने क्या किया? एक चेंज कर दिया। इस चेंज को अब सेव कर लेते हैं। अब क्या हुआ?
अब ये जो मेरी रीड मीट है और यहां पर जो रीड है गेट के ऊपर दोनों अलग-अलग हैं। और ये मुझे वीएस कोड दिखाएगा भी। कैसे दिखाएगा? बीएस कोड के अंदर ये एम वाला सिंबल आ जाएगा और फाइल्स येलो कलर में आ जाएंगी। तो इसका मतलब है वीएस कोड हमें पहले से ही दिखा रहा है। स्मार्ट एडिटर है। पहले से ही बता रहा है कि आपने अपनी फाइल्स को मॉडिफाई कर दिया है। यानी उनके अंदर कुछ चेंज कर दिया है जिसको अब आपको कमिट करने की जरूरत है। कमिट मतलब उसका स्क्रीनशॉट लेने की जरूरत है।
अब जैसे ही हमने ये चेंज कर दिया। अब अगर हम दोबारा से गिट स्टेटस करें। तो गिट स्टेटस में इस बार एक बड़ा सा मैसेज दिखाई दे रहा है। हमने यहां पर गिट स्टेटस लिखा था सेकंड टाइम। और अब यहां दिखा रहा है चेंजज़ नॉट स्टेज्ड फॉर कमिट। और क्या स्टेट दिखा रहा है? हमें दिखा रहा है कि हमारी जो रीड मीट है ये मॉडिफाइड है। मतलब हमने इसे मॉडिफाई कर दिया है। और अब हमें इसे ऐड करना पड़ेगा। फिर कमिट करना पड़ेगा। जैसे ही हम किसी भी फाइल को मॉडिफाई कर देते हैं। फाइल को
मॉडिफाई करने के बाद हमें टू स्टेप प्रोसेस करना पड़ता है। एक होता है हमारा ऐड का प्रोसेस एंड उसके बाद हम अपना कमिट करते हैं। तो ये हमारा फर्स्ट स्टेप हो जाता है। ये हमारा सेकंड स्टेप हो जाता है। जब तक हम ये नहीं करते तब तक क्या होता है? तब तक स्टेटस में हमें पता चलता रहेगा कि हमने अपनी फाइल को मॉडिफाई किया है। इसके अलावा हम चाह तो एक और फाइल क्रिएट कर सकते हैं अपना कॉलेज डॉट डेमो के अंदर। इस फाइल को हम नाम देंगे इंडेक्स. तो ये हमारी एचटीएमl की फाइल होगी।
इसके एचटीएमl की फाइल के अंदर अभी हम कोई चेंज नहीं करेंगे। पर दोबारा से अगर गिट स्टेटस देखें। एक बार इसे क्लियर करते हैं। और गिट स्टेटस के अंदर इस बार क्या दिखा रहा है? गिट स्टेटस के अंदर इस बार दो चीजें दिखा रहा है। एक है कि आपने रीड मीट को मॉडिफाई कर दिया। मतलब उसके अंदर चेंज कर दिया है। दूसरा आपके पास एक अनट्रैक्ड फाइल है। अनट्रैक्ड फाइल यानी वो फाइल जिसको गिट ट्रैक नहीं कर रहा। अभी यानी कोई नई फाइल आपने क्रिएट कर दी जिसके बारे में गिट को पता ही नहीं। तो
ये हमारी फाइल है इंडेक्स. तो जब भी हम गिट स्टेटस को यूज़ करते हैं जनरली हमारे पास चार तरीके के स्टेटस होते हैं। इनमें से सबसे पहला होता है अनट्रैक्ट। अनट्रैक्ट का मतलब होता है ऐसी नई फाइल जिसके बारे में गिट को नहीं पता और गिट उसे ट्रैक नहीं कर रहा। मतलब इस फाइल के अंदर अगर आप कुछ चेंज कर देंगे ना तो वो गिट को पता नहीं चलेगा। गिट फिर भी इसे अनट्रैक्ट फाइल ही बोलेगा। मॉडिफाइड फाइल नहीं बोलेगा। जैसे अगर हम यहां पर एक अपना पैराग्राफ टैग बना दें और उसके अंदर लिख दें
हेलो वर्ल्ड इसको कर लेते हैं सेव यहां पर क्लियर कर लेते हैं एंड दोबारा से गिट स्टेटस करते हैं तो इस बार क्या दिखा रहा है रीड मीट को मॉडिफाइड दिखा रहा है और इंडेक्स को अनट्रैक्ड दिखा रहा है अनट्रैक्ड यानी क्योंकि इंडेक्स इस फाइल के बारे में गिट को कभी पता ही नहीं क्योंकि हमने कभी इसका स्क्रीनशॉट नहीं लिया हमने कभी इसको कमिट नहीं किया तो गिट को ये नहीं पता कि इसके अंदर क्या चेंजज़ हो रहे हैं। गिट बस इसे एक नई फाइल समझता है। तो वो हो गया अंड्रैक्ट। दूसरे तरीके का स्टेटस
में आ सकता है मॉडिफाइड फाइल्स। मॉडिफाइड यानी उस फाइल के अंदर आपने कोई चेंज किया है और अनमोडिफाइड का मतलब होता है कि कोई चेंज नहीं किया फाइल्स के अंदर। सारी फाइल्स अनचेंज्ड हैं। इसके अलावा एक और स्टेटस हमारे पास होता है स्टेज्ड। स्टेज्ड का मतलब होता है फाइल इज़ रेडी टू बी कमिटेड। जनरली हम कोई भी अगर चेंज कर देते हैं फाइल के अंदर। तो फाइल के अंदर अगर कुछ भी चेंज किया जाता है तो वो मॉडिफाइड हो जाती है। या फिर अगर न्यू फाइल अगर हम ऐड करते हैं तो न्यू फाइल के केस
में वो अनट्रैक्ड हो जाती है। और जब भी हम कोई भी चेंजज़ करते हैं चाहे वो नया चेंज हो चाहे वो नई फाइल हो तो इन चेंजज़ को सबसे पहले हमें ऐड करना पड़ता है। जैसे ही हम इन चेंजज़ को ऐड करते हैं हमारी फाइल्स स्टेज्ड हो जाती हैं। यानी एक किसी बीच वाली जैसे स्टेज के ऊपर जाके एंगेजमेंट हो जाती है। तो इसको हम समझ सकते हैं कि ये एंगेजमेंट वाली जो स्टेज है ऐड करने वाली इसी को हम स्टेज्ड कह देते हैं। तो जब भी हमने फाइल को ऐड किया पर कमिट नहीं किया
पर वो कमिट करने के लिए रेडी है। मतलब उस फाइल का स्टेटस है स्टेज्ड। और उसके बाद नेक्स्ट हम ऐड करने के बाद अपनी फाइल्स को करते हैं कमिट। कमिट मतलब फाइनली हमारी फाइल्स अनचेंज्ड हो जाएंगी। अनचेंज्ड यानी अब उनके अंदर कोई चेंजेस नहीं है। सारे चेंजेस के स्क्रीनशॉट गेट ले चुका है। तो शुरुआत में फाइल्स या तो मॉडिफाइड होती हैं या अनट्रैक्ड होती हैं या दोनों हो सकती हैं। डिपेंडिंग अपॉन अगर हमारे पास बहुत सारी फाइल्स हैं। फिर हम उनको ऐड करते हैं तो उनका स्टेटस स्टेज्ड हो जाता है। फिर हम उन्हें कमिट करते
हैं तो उनका स्टेटस अनचेंज्ड हो जाता है। तो जब भी हमें किसी फाइल का या अपने पूरे के पूरे रेपो का स्टेटस देखना हो तो हम सिंपली गिट स्टेटस कर देते हैं। अब बात करते हैं अपनी दो और कमांड्स के बारे में ऐड एंड कमिट। तो हमने ये तो पता कर लिया कि चेंज करना है तो नॉर्मली कुछ भी टाइप कर दो, नई फाइल ऐड कर दो। अब इन चेंजेस को गिट ट्रैक कैसे करेगा? ट्रैक करने के लिए हमें सबसे पहले चेंजेस को ऐड करना पड़ेगा। तो ऐड करने के लिए हम लिखते हैं गिट ऐड
और फिर अपनी फाइल का नाम कि किस फाइल के अंदर हम अपनी चेंजेस को ऐड कराना चाहते हैं। तो ऐड कमांड क्या करती है? इट ऐड्स न्यू एंड चेंज्ड फाइल्स यानी नई या फिर कुछ चेंज्ड या मॉडिफाइड फाइल्स को हमारी वर्किंग डायरेक्टरी के अंदर गिट के स्टेजिंग एरिया में ऐड कर देती है। गिट के स्टेजिंग एरिया कहने का मतलब है कि अभी हम यहां पर हैं। फिर ऐड करने से हम यहां पर आ जाएंगे। फिर फाइनली हम कमिट कर देंगे। ऐड क्या है? ऐड हमारी एंगेजमेंट की स्टेज है। कमिट क्या है? कमिट हमारी वेडिंग की
स्टेज है। अब वेडिंग में जाने से पहले इंगेजमेंट होगी। एंगेजमेंट कहां होगी? स्टेज के ऊपर होगी। तो ये स्टेजिंग एरिया जो है ये हमारी बीच वाली स्टेट है जो अनमोडिफाइड, अनट्रैक्ड एंड हमारे कमिट के बीच में एग्ज़िस्ट करती है। तो बेसिकली करंट वर्किंग डायरेक्टरी मतलब जहां पर अभी हम अपनी चेंजज़ कर रहे हैं, वहां से गिट के स्टेजिंग एरिया में लेकर हम चले जाते हैं अपनी फाइल्स को एंड उन्हें स्टेज कर देते हैं। तो अपनी फाइल्स को स्टेज करने के लिए हम सिंपली लिख सकते हैं गिट ऐड और फिर अपनी फाइल का नाम। जैसे एक
फाइल का नाम है हमारे पास इंडेक्सhtml तो हमने इसे एंटर कर दिया तो वो क्या हो गई? स्टेज्ड हो गई। अब हम करेंगे अगर गिट स्टेटस तो गिट स्टेटस में दिखा रहा है ग्रीन हो गया स्टेटस यानी स्टेज्ड हो गई। तो यहां दिखा रहा है चेंजज़ टू बी कमिटेड यानी ये इंडेक्स हमारा नया चेंज है जिसको हमने ऐड कर दिया है। इस वाले को अभी ऐड नहीं किया। यानी रीड मीट के अंदर जो हमने चेंज किया था इसको अभी हमने ऐड नहीं किया है। तो इसको भी ऐड करने के लिए या तो हम लिख सकते
हैं गिट ऐड अपनी फाइल का नाम टैब प्रेस कर लेंगे। गिट ऐड रीड मीट एमडी नहीं तो अगर एक साथ हमारे पास बहुत सारे चेंजज़ होते हैं ऐड करने के लिए तो हम सिंपली लिख सकते हैं गिट ऐड डॉट डॉट मतलब सारी फाइल्स को ऐड कर दो एंटर करेंगे तो अब हमारी सारी फाइल्स एक साथ ऐड हो गई अब दोबारा से देख सकते हैं गेट स्टेटस अब गिट स्टेटस में दिखा रहा है ये दो चेंजेस आपने ऐड किए हैं और दीज़ चेंजेस आर रेडी टू बी कमिटेड अब नेक्स्ट स्टेज होती है चेंजज़ ऐड कर दिए
तो अब इन्हें कमिट कर दो कमिट करने के लिए कमिट करने का मतलब होता है इट इज़ द रिकॉर्ड ऑफ़ चेंज यानी आपने पूरा लीगल रिकॉर्ड जैसे लीगल रिकॉर्ड होता है कि शादी का मतलब है लीगली अब दो लोग बंध गए हैं एक तो वैसे ही गिट के अंदर कमिट का मतलब होता है कि अब पूरा रिकॉर्ड छप चुका है। ऐड का रिकॉर्ड नहीं होता, इंगेजमेंट का रिकॉर्ड नहीं होता, वेडिंग का रिकॉर्ड होता है। तो वैसे ही कमिट का रिकॉर्ड होता है हमारे गिट के अंदर। कमिट करने के लिए हम लिखते हैं गिट कमिट -
m मतलब कमिट का क्या मैसेज होने वाला है और फिर उसके बाद हम कुछ मैसेज लिखते हैं। जनरली यह जो हमारा मैसेज होता है इसको कोशिश करनी है कुछ मीनिंगफुल मैसेज रखना है। जैसे अगर हमने कुछ फीचर ऐड किया है तो हम लिख सकते हैं ऐड न्यू बटन या फिर ऐड न्यू फीचर या फिर अगर हमने किसी बग को फिक्स किया है तो हम लिख सकते हैं फिक्स न्यू बग या फिक्स ओल्ड बग। इस तरीके से कुछ मीनिंगफुल मैसेज हमें रखना होता है। तो इसे हम लिख लेते हैं गिट कमिट - m और फिर हम
अपना मैसेज टाइप करेंगे डबल कोट्स के अंदर। अब क्योंकि हमने प्राइमरी जो चेंज किया है वो इंडेक्स. के अंदर हमने हेलो वर्ल्ड यानी पैराग्राफ को ऐड किया है। तो हम अपने चेंज को नाम दे देंगे ऐड न्यू पैराग्राफ। तो ये हमारा मैसेज हो गया। इसको कर सकते हैं एंटर। तो अब दिखा रहा है ऐड न्यू पैराग्राफ हो गया है। दो फाइल्स के अंदर हमने चेंजज़ किए हैं। कौन सी दो फाइल्स? एक हमने रीड मीट के अंदर चेंज किया है। एक हमने इंडेक्स.ml के अंदर चेंज किया है। और इस बार अगर हम गिट स्टेटस देखेंगे तो
इस बार गिट स्टेटस में दिखाएगा। सारी की सारी चीजें ठीक हैं। नथिंग टू कमिट। मतलब कुछ भी अनकमिटेड नहीं है हमारे पास। पर एक चीज और दिखा रहा है। योर ब्रांच इज अहेड ऑफ ओरिजिन मेन बाय वन कमिट। इसका बेसिक मतलब यह है कि हमारे लोकल सिस्टम पे अब हम एक कमिट आगे हो गए हैं एज़ कंपेयर टू हमारा GH। GitHub के ऊपर अभी हमारी इंडेक्स. नहीं दिखेगी। आप रिफ्रेश कर लेंगे तब भी हमारा कोड वैसे का वैसा रहेगा जैसे शुरुआत में था। हमारे ये जो सिस्टम जो हमने अपने कंप्यूटर के अंदर किए हैं, अपने
लैपटॉप के अंदर किए हैं। ये अभी गीब के ऊपर नहीं दिखाई दे रही। तो इनको GitHub के ऊपर दिखाने के लिए हम अपनी एक और कमांड यूज़ करते हैं जो होती है हमारी गिट पुश कमांड। पुश कमांड क्या करती है? पुश यानी धक्का दे देना। तो हम क्या करते हैं? अपने लोकल सिस्टम पे हमारे कंप्यूटर के अंदर जो चेंजेस हैं उन्हें धक्का देके गिट के ऊपर भेज देते हैं। तो बेसिकली पुश कर रहे हैं उन्हें गिट के ऊपर। तो पुश करने का मतलब होता है टू अपलोड लोकल रेपो कंटेंट टू रिमोट रेपो। पहले हमने बात
की थी रिमोट होता है हमारा गिट और लोकल होता है हमारा खुद का लैपटॉप या कंप्यूटर। तो हम अपने चेंजेस को लोकल से रिमोट के पास भेजने के लिए पुश करते हैं चेंजेस को। तो अपने कोड को पुश करने के लिए हम लिखते हैं गिट पुश ओरिजिन में। तो सबसे पहले इस कमांड को एक बार रन करके देखते हैं। फिर हम इस कमांड का एक बार डिटेल में मतलब समझेंगे। अपने टर्मिनल को कर लेते हैं क्लियर। एंड यहां पर हम लिखेंगे गेट पुश ओरिजिन मेन। इसे करेंगे एंटर। जैसे ही एंटर करेंगे अगर हम फर्स्ट टाइम
ये चीज करने की कोशिश कर रहे हैं अपने गेट अकाउंट के साथ। तो फिर यहां पर इस तरीके से वीएस कोड हमसे परमिशन मांगेगा। परमिशन मांगेगा तो हमें इसे अलाऊ करना है। जैसे ही अलाउ करेंगे यहां पर हमारे पास एक स्क्रीन आएगी जहां हम ऑथराइज़ कर रहे होंगे गेटअप को फॉर वीएस कोड। हो सकता है आपके लिए भी कोई मिलतीजुलती स्क्रीन आए। तो वहां पर हमें करना है ऑथराइज़ विजुअल स्टूडियो कोड ताकि डायरेक्टली हम अपने चेंजेस को विजुअल स्टूडियो कोड के थ्रू ही पुश कर पाएं। तो यहां से ओपन कर लेते हैं अपना विजुअल स्टूडियो
कोड एंड इस पर भी क्लिक कर देते हैं हम ओपन एंड जैसे ही ओपन क्लिक करेंगे यहां पर क्या हुआ? इस तरीके से कुछ चीजें हमारे पास लिख कर आएंगी और इसका मतलब है हमारा पुश सक्सेसफुल हो गया। जैसे ही हम इसे क्लोज़ कर देते हैं। जैसे ही हम वापस से गेट पर जाएंगे और अपनी रेपो के ऊपर रिफ्रेश करेंगे। तो रिफ्रेश करने से इस बार हमें अपने नए चेंजज़ दिखाई दे रहे हैं जो हमने लोकल सिस्टम के ऊपर किए थे। यानी हमारी इंडेक्स हमें दिख रही है। नए कमिट का नाम दिख रहा है ऐड
न्यू पैराग्राफ और हमारी रीड मी के अंदर जो हमने चेंज किया था वो भी चेंज हमें दिखाई दे रहा है। तो बेसिकली अभी तक हम चार कमिट्स कर चुके हैं। इन चारों कमिट्स को अगर हमें देखना है तो सबसे पहले हमारा इनिशियल कमिट था जो शुरुआत में हमेशा होता है। उसके बाद हमने रीड मी को अपडेट किया था। उसके बाद हमने रीड मी के अंदर नेक्स्ट लाइन ऐड की थी। उसके बाद हमने अपने लोकल सिस्टम के अंदर नए पैराग्राफ को एडिट किया था। तो कभी भी जाकर अगर हमें पूरी हिस्ट्री देखनी है तो ये हमारी
हिस्ट्री है जिसे गिट ट्रैक करता है और अभी हम इसे देख पा रहे हैं गिटब के थ्रू। वैसे हम इसे गिट के थ्रू भी देख सकते हैं। बाद में बात करेंगे कैसे एग्जैक्टली गिट के थ्रू देखते हैं। पर इस तरीके से हमारा पुश काम करता है। अब गिट पुश ओरिजिन मेन ये जो लाइन है इसमें गिट पुश तो हमारी बेसिक कमांड है। गिट पुश का मतलब है गिट के थ्रू हम अपने कोड को पुश करना चाहते हैं। यहां ओरिजिन का क्या मतलब है? बाय डिफ़ॉल्ट जितनी भी हमारी GH की रेपोज़ होती हैं, उनको हम कहते
हैं कि वह हमारी रिमोट रेपोज़ हैं। और इन रिमोट रेपोज़ में से हम एक स्पेसिफिक हम एक डिफ़ॉल्ट रेपोज़िटरी निकालते हैं जिससे हमने अपने कोड को क्लोन किया था। यानी जो हमारी डिफ़ॉल्ट रेपोज़िटरी होती है जिसके ऊपर अगर हम इस प्रोजेक्ट के अंदर कुछ भी चेंज कर रहे हैं तो पुश करने पर उस रिमोट GH के ऊपर जाना चाहिए। तो वो रिमोट GitHub का हमने नाम रख दिया है ओरिजिन। हम चाहे तो कुछ और नाम भी रख सकते थे। पर उसका नाम हमने रख दिया। मतलब GitHub की GitHub के ऊपर जो हमारी कॉपी है Ghub
के ऊपर जो हमारी रेपो है ये वाली कॉपी इसका हमने नाम ओरिजिन रख दिया है और इस ओरिजिन के अंदर हम इस ब्रांच के अंदर यानी मेन नाम की ब्रांच के अंदर पुश करने की कोशिश कर रहे हैं। तो ये जो हमें मेन यहां पे दिखाई दे रहा है ये हमारी ब्रांच का नाम है और अभी इस प्रोजेक्ट में एक ही ब्रांच है। यानी यहां पर वन ब्रांच लिखा हुआ है। अब ब्रांचेस क्या होती है? उनके बारे में हम डिटेल में पढ़ेंगे। पर अभी के लिए गेट पुश ओरिजिन में इनका यही मतलब है कि जितनी
भी रिमोट रेपोस हैं उसमें से ओरिजिन वाली जो हमारी रेपो है जहां से हमने क्लोन किया था वही हमारा ओरिजिन है उसके ऊपर हम डायरेक्टली पुश करना चाहते हैं। ये इस कमांड का मतलब है। अब अभी तो हमने बात की कि कैसे अगर हमने गेटब के ऊपर कोई प्रोजेक्ट बनाया है उसको हम अपने सिस्टम के ऊपर डाउनलोड कर सकते हैं। डाउनलोड करके यानी क्लोन करके हम चीजों का स्टेटस देख सकते हैं। नए चेंजेस को ऐड कर सकते हैं। उन चेंजेस को कमिट कर सकते हैं और वापस से अपने कोड को पुश कर सकते हैं। पर
कई बार हो सकता है हमें ऐसे प्रोजेक्ट बनाने पड़े जो हम अपने लोकल मशीन पे ही शुरुआत करते हैं। क्योंकि जनरली आज तक जितने भी प्रोजेक्ट्स के ऊपर या कोड के ऊपर हम काम करते आए हैं, हम सबसे पहले अपने कंप्यूटर के ऊपर फोल्डर बनाते हैं। फिर उसके अंदर काम करते हैं। तो उसके साथ हम गिट को कैसे मैनेज कर सकते हैं? तो उसके लिए हमारी इनट कमांड हमारे काम आती है। init कमांड का काम होता है यूज्ड टू क्रिएट अ न्यू गिट रेपो। यानी अगर हमारा कोई नया प्रोजेक्ट है तो उसके अंदर गिट को
इनिशियलाइज़ करने के लिए गिट को यूज़ करने के लिए हम गिट इन init लिखते हैं। इसका एग्जांपल लेते हैं। जैसे यहां पर गिट डेमो जो हमारा फोल्डर है। अपनी इस गिट डेमो के अंदर हम एक नया फोल्डर क्रिएट करेंगे। हम चाह तो गिट डेमो के अंदर यहां से जाकर भी फोल्डर को क्रिएट कर सकते हैं। नहीं तो कमांड लाइन से भी किया जा सकता है। कमांड लाइन से जैसे हम किसी भी डायरेक्टरी के अंदर जाते हैं तो उसके लिए सीडी लिखते हैं। चेंज डायरेक्टरी। डायरेक्टरी के बाहर जाने के लिए हम लिखते हैं सीडी स्पेस डॉट
डॉट एंटर करेंगे। तो अब हम बाहर आ गए। मतलब गिट डेमो के अंदर आ गए। इस फोल्डर के अंदर आ गए। इस फोल्डर के अंदर एक नई डायरेक्टरी बनाने के लिए सब डायरेक्टरी बनाने के लिए हम एक कमांड लिखते हैं मेक डीआईआर। यानी मेक न्यू डायरेक्टरी एम के डीआईआर। और इस डायरेक्टरी को हम नाम देने वाले हैं। अ इसे कह देते हैं लोकल रेपो। यानी जो हमने अपने लोकल सिस्टम पे बनाई है। लोकल रेपो बना लिया। तो अब गिट डेमो के अंदर एक और फोल्डर हमारे पास आ गया लोकल रेपो के नाम से। और अब
अपने चेंजज़ हम इस लोकल रेपो के अंदर करेंगे। तो सबसे पहले लोकल रेपो के अंदर चले जाते हैं। सीडी लोकल रेपो एंटर किया। इसे कर लेते हैं क्लियर। तो अभी हम लोकल रेपो के अंदर हैं। इन फाइल्स को यहां से हटा देते हैं। अब लोकल रेपो के अंदर चेंजज़ करने के लिए सबसे पहले हम इसे गिट रेपो बनाते हैं। अभी कैसे हमें पता है कि ये गिट रेपो नहीं है। क्योंकि जब हम इसकी सारी हिडन फाइल्स देखेंगे एलएस - a से एंटर करेंगे तो अभी हमारे पास सिर्फ डॉट एंड डबल डॉट ये दो फोल्डर्स आ
रहे हैं। हमारे पास डॉट गिट नाम का कोई फोल्डर ही नहीं है। तो जब हम एक बार गिट इनिट कर देंगे। एंटर किया तो यहां पर लिखा आ रहा है इनिशियलाइज़्ड एम्प्टी गिट रपोज़िटरी। एंड इस बार दोबारा से हम एलएस माइनस A करेंगे। एंटर किया तो इस बार हमारे पास डॉट गेट नाम का फोल्डर आ रहा है। यानी अब ये जो रेपोज़िटरी है लोकल रेपो ये हमारी गिट रेपोज़िटरी बन गई है। अब इस रेपो के अंदर हम कुछ-कुछ चेंजज़ कर सकते हैं। अब इसके अंदर कुछ चेंजज़ कर लेते हैं। चेंजज़ करने के लिए हम इसके
अंदर एक फाइल ऐड कर सकते हैं। इंडेक्स। इसके अंदर हम चाहें तो कुछ भी HTML का कोड लिख सकते हैं। लेट्स सपोज़ हमने एक पैराग्राफ़ बना लिया HTML का। दिस इज़ अ न्यू रेपो। ये हमारा पैराग्राफ़ हो गया। एंड इसके साथ हम चाहें तो इसके अंदर कोई javaवास्क्रिप्ट की या स्टाइल डॉट CSS की फाइल बना सकते हैं। इसको लिख सकते हैं स्टाइल डॉट CSS। तो ये हमारा स्टाइल डॉट CSS हो गया। हर पैराग्राफ के लिए हम चाहते हैं कि जो कलर हो वो कलर हो जाए रेड के इक्वल। अब ये क्या है? सीएसएस हम यहां
पर नहीं सीख रहे। पर ये बहुत बेसिक कोड है सीएसएस। का सीएसएस मतलब स्टाइल डिफाइन कर रहे हैं कि पैराग्राफ को हम कलर रेड देना चाह रहे हैं। इसको डिटेल में जानना है तो सीएसएस के लिए ऑलरेडी हमने वन शॉट बनाया हुआ है। बाकी हम चाहे तो इस फाइल को खाली भी छोड़ सकते थे। कोई ज्यादा कुछ फर्क नहीं पड़ेगा गेट को। पर यहां हमें दिखा रहा है कि हमारे पास यू यानी अनट्रैक्ड फाइल्स हैं। तो वीएस कोड हमें बता रहा है। हम चाहे तो स्टेटस भी चेक कर सकते हैं। गेट स्टेटस यानी दो अनट्रैक्ड
फाइल्स हैं इंडेक्स और स्टाइल। अब इन्हें सबसे पहले तो ऐड कर लेते हैं। गेट ऐड डॉट तो सारी ऐड हो गई। स्टेटस में अब क्या दिखा रहा है? चेंजज़ टू बी कमिटेड फॉर दीज़ टू न्यू फाइल्स। इसको एक बार क्लियर कर लेते हैं। अब इन्हें हम कमिट कर देंगे। कमिट किया - m और मैसेज डाल देंगे ऐड इनिशियल फाइल्स। तो हम अपनी इनिशियल फाइल्स को ऐड कर रहे हैं। इसको कर दिया एंटर। तो हमारी फाइल्स ऐड हो गई। एंड अब गेट स्टेटस करेंगे। तो इस बार कुछ भी नहीं है हमारे पास कमिट करने के लिए।
सारी चीजें हमने सक्सेसफुली कमिट कर दी हैं। अब ये तो हमने अपने लोकल सिस्टम के अंदर चेंजज़ कर लिए। पर अब हम चाहते हैं कि इस सेम फोल्डर को जो भी प्रोजेक्ट हमने अपने सिस्टम के अंदर बनाया है, इस प्रोजेक्ट को हम गीब के ऊपर अपलोड करना चाहते हैं। तो अपलोड करने के लिए हम क्या करेंगे? Ghub के ऊपर जाकर यहां आ जाते हैं अपनी प्रोफाइल में या अपनी रेपोज़िटरीज में। रेपोज़िटरीज़ के अंदर जाकर हम एक नई रेपो बनाएंगे जिसके अंदर हम इस प्रोजेक्ट को पुश करेंगे। तो हम न्यू पर क्लिक करेंगे और न्यू पर
क्लिक करके हमें वो रेपो बनानी है जिसके अंदर हम अपने कोड को डालना चाहते हैं। तो अपनी रेपोज़िटरी को हम नाम दे देंगे लोकल रेपो। लोकल रेपो के लिए डिस्क्रिप्शन अभी हम छोड़ सकते हैं। पब्लिक छोड़ सकते हैं। रीडme को अभी हम नहीं इनिशलाइज करेंगे क्योंकि रीड को अगर हमने इनिशियलाइज कर दिया तो उसको हमें लोकल सिस्टम में भी लेकर आना पड़ेगा। तो अभी के लिए रीड मीट को इग्नोर कर देंगे और क्रिएट कर देते हैं अपनी रेपो। तो हमारे पास इस तरीके से कुछ-कुछ चीजें कुछ-कुछ चेंजज़ यहां पर लिखकर आ गए हैं। अब सबसे
पहली चीज जो हमें करनी है, यहां पर वैसे इंस्ट्रक्शंस भी दिए हुए हैं गेटअप पर। तो पुश करने से पहले हमें एक कमांड रन करनी होती है व्हिच इज़ गिट रिमोट, ऐड ओरिजिन और फिर लिंक। इस कमांड का क्या मतलब है? गिट रिमोट से हम कह रहे हैं गिट रिमोट ऐड से हम कह रहे हैं कि हम एक नया रिमोट ऐड करना चाहते हैं। अब यहां पर ये टीवी वाला रिमोट नहीं है या एसी वाला रिमोट नहीं है। यहां पर ये रिमोट है हमारी गिटब की रेपो। हमने पहली बात की थी कि जो हमारी गटब
की रिपोजिटरीज होती है उनको हम कहते हैं कि वो हमारी रिमोट रेपोज़ हैं। तो हम एक नई रिमोट रेपो ऐड करना चाहते हैं। इसका क्या नाम रखना चाहते हैं? इसको अब से हम ओरिजिन कहना चाहते हैं। यानी इसका नाम अब हम ओरिजिन रखना चाहते हैं। हम चाहे तो इसका कुछ और नाम भी रख सकते हैं। पर गिट पुश ओरिजिन मेन की जगह फिर हमें ओरिजिन में वही नाम डालना पड़ेगा। पर जनरली बाय डिफ़ॉल्ट बाय कन्वेंशन हम ओरिजिन ही रखते हैं। और फिर उस रेपो का हम लिंक लिख देंगे। तो यहां पर हम लिखने वाले हैं
गेट रिमोट ऐड ओरिजिन। तो गेट रिमोट ऐड ओरिजिन लिंक करने के लिए हम इस लिंक को कर लेंगे कॉपी। कॉपी किया उसे यहां पर हम कर देंगे पेस्ट। पेस्ट कर दिया। एंटर कर दिया। तो इससे क्या हुआ? हमारा ओरिजिन सेट हो गया। अब ओरिजिन क्या सेट हुआ है? उसके लिए हम चेक कर सकते हैं गिट रिमोट - V। गिट रिमोट - V कमांड का काम होता है टू वेरीफाई रिमोट कि अभी हम जिस रिमोट रेपोज़िटरी की बात कर रहे हैं वो एक्चुअली है क्या? तो हम रन कर सकते हैं गिट रिमोट - V एंटर। तो
अभी हम जिस रिमोट की बात कर रहे हैं वो ये है हमारी लोकल रेपो डॉट गेट। तो स्टूडेंट अपना कॉलेज वाले पेज के अंदर लोकल रेपो डॉट गेट यही हमारी गिट रेपोज़िटरी है जिसके ऊपर हम पुश ऑपरेशन को परफॉर्म करेंगे। अब इसके अलावा हमारे पास एक और कमांड होती है गिट ब्रांच के नाम से। गिट ब्रांच हमें चेक करके बताती है कि अभी हम कौन सी ब्रांच पर हैं। ब्रांच को वैसे तो हम डिटेल में पढ़ेंगे पर ब्रांच क्या होती है? जैसे लेट्स सपोज एक प्रोजेक्ट है जिसके ऊपर बहुत सारे लोग काम कर रहे हैं।
एक हमारी डेवलपमेंट टीम है जो काम कर रही है। एक हो सकता है कोई डेवलपमेंट के साथ ही कोई अलग से एक फीचर टीम हो या इसे डेवलपमेंट की जगह कह लेते हैं। ये हमारी फीचर वन टीम काम कर रही है जो फ्रंट एंड के फीचर्स बना रही है। ये हमारी फीचर टू टीम है जो बैक एंड के फीचर्स बना रही है। और एक हमारी बग फिक्स करने वाली टीम है। जो कुछ बग्स हैं, प्रॉब्लम्स हैं उनको फिक्स कर रही है। तीन टीम्स एक साथ प्रोजेक्ट के अंदर काम कर रही है। तो हर टीम क्या
करती है? हर टीम अपनी अलग से कॉपी बनाती है और उस कॉपी के ऊपर काम करती है और इन्हीं कॉपीज़ को प्रोजेक्ट की इन्हीं कॉपीज़ को हम एक ब्रांच कह देते हैं। जैसे पेड़ होता है, पेड़ की ब्रांचेस होती हैं। तो ऐसे ही हमारा एक मेन प्रोजेक्ट होता है। इससे फीचर वन वाली टीम अपनी ब्रांच निकाल लेगी। फीचर टू वाली टीम अपनी ब्रांच निकाल लेगी। बग फिक्स वाली टीम अपनी ब्रांच निकाल लेगी। और जिस पॉइंट से निकालेगी उस पॉइंट की अपने पास एक कॉपी बन जाएगी। तो ये ब्रांच का बेसिक मतलब होता है। वैसे ब्रांच
को हम डिटेल में पढ़ेंगे। तो जब भी हमें चेक करना हो हम कौन सी ब्रांच के ऊपर हैं। हम सिंपली लिख सकते हैं गेट ब्रांच। तो यहां हम लिख सकते हैं गेट ब्रांच एंटर किया। तो अभी हम मास्टर नाम के एक ब्रांच के ऊपर हैं। अब पहले गेट के ऊपर जो हमारी मास्टर ब्रांच होती थी ये हमारी डिफॉल्ट ब्रांच होती थी। पर क्योंकि इंग्लिश के अंदर मास्टर टर्म को थोड़ा डेरोगेटरी तरीके से देखा जाता है। तो इसीलिए गिट ने क्या किया? अपनी पॉलिसीज चेंज कर दी। और फिर कुछ सालों से अब हमारी डिफॉल्ट ब्रांच गीहब
के ऊपर मेन ब्रांच होती है। जैसे ये क्या है? ये हमारी मेन ब्रांच है। तो हम क्या कर सकते हैं? ये मास्टर ब्रांच मेन ब्रांच नहीं है। ये दोनों अलग-अलग ब्रांचेस हैं। अब हमें क्या करना पड़ेगा? एक नई ब्रांच मेन बनानी पड़ेगी और उसके अंदर चेंजज़ करने पड़ेंगे। अभी तो हम मास्टर पे हैं। तो या तो हमें एक नई ब्रांच बनानी पड़ेगी मेन नाम से और उसके अंदर चेंजिस करने पड़ेंगे या हम अपनी मास्टर ब्रांच का नाम चेंज करके उसका नाम मेन कर सकते हैं। ये चेंज हम इसलिए कर रहे हैं। वैसे तो हम मास्टर
के ऊपर भी पुश कर सकते हैं। पर ये चेंज हम इसलिए कर रहे हैं क्योंकि मास्टर का नाम अब मेन हो गया है हर जगह। तो हम भी अपना नाम मेन चेंज करेंगे। तो किसी भी ब्रांच को रीनेम करने के लिए हम लिख सकते हैं गिट ब्रांच - m और फिर उसका नया नाम। तो यहां पर नया नाम मेन रखने के लिए हम लिख सकते हैं गिट ब्रांच। अभी जो भी ब्रांच है उसका नाम चेंज कर दो। क्या नाम चेंज करना है? मेन नाम चेंज करना है। एंटर किया और इस बार गिट ब्रांच करेंगे। तो
हम कौन सी ब्रांच पर हैं? हम अपनी मेन ब्रांच पर हैं। जैसे ही मेन ब्रांच पर आ गए। अब हम दोबारा से कर सकते हैं गिट पुश ओरिजिन मेन। अब गिट पुश ओरिजिन मेन हम कुछ इस तरीके से करते हैं। गेट पुश ओरिजिन मेन। बट हम साथ के साथ गेट पुश ओरिजिन मेन के साथ - u का फ्लैग भी यूज़ कर सकते हैं। यानी हम लिख सकते हैं गेट पुश - u ओरिजिन मेन। अब ये -u का क्या मतलब है? -u का मतलब होता है टू सेट अपस्ट्रीम। अपस्ट्रीम सेट करने का मतलब है कि अगर
हम एक ही टाइम पर बहुत लंबे टाइम तक सेम प्रोजेक्ट के ऊपर काम करना चाहते हैं तो बार-बार हम ओरिजिन मेन ओरिजिन मेन नहीं लिखना चाहते तो उसके लिए हम एक ही बार बता देते हैं कि हम ओरिजिन मेन के ऊपर ही सारे पुश ऑपरेशंस करना चाहते हैं। तो नेक्स्ट टाइम अगर हमें पुश करना होगा अपना कोड सेम रेपो के अंदर तो हम सिंपली गिट पुश लिख सकते हैं। तो ये हम फ्यूचर के लिए शॉर्ट फॉर्म क्रिएट कर सकते हैं। तो यहां हम लिख देंगे गिट पुश माइनस यू ओरिजिन में। जैसे ही एंटर किया तो
इसका मतलब है कि हमारा कोड वहां पर जाकर पुश हो गया ओरिजिन पर। एंड इसे यहां से जाकर हम कर लेते हैं रिफ्रेश। जैसे ही रिफ्रेश करेंगे यहां लिखकर आ गया कि हमारा कोड पुश हो चुका है। एंड हमारा कमिट आ गया ऐड इनिशियल फाइल्स। उसके साथ में हमारी फाइल्स भी हमें दिखाई दे रही हैं। फाइल्स के अंदर क्लिक करेंगे तो हमारा कोड हमें दिखाई देना स्टार्ट हो जाएगा। तो ये हमारी सीएसएस फाइल्स हैं। बैक जाएंगे। ये हमारी HTML फाइल हो गई और बैक चले जाएंगे। तो इस तरीके से हमने अपने कोड को पुश कर
दिया। और इस बार हम चाहें तो एक नई फाइल क्रिएट कर सकते हैं लोकल रेपो के अंदर। इसको नाम दे देंगे रीड मीट रीड मीडी के अंदर इस तरीके से हम लिख सकते हैं#श दिस इज़ माय लोकल डेपो इसको कर लेते हैं सेव अब ये एक नया चेंज हो गया क्लियर कर लेते हैं गेट स्टेटस देख लेते हैं तो ये हमारी नई फाइल है जो अभी अनट्रैक्ड है तो इसे सबसे पहले तो हम ऐड कर लेते हैं और इसके लिए कमिट ऐड कर सकते हैं - m ऐड रीड मी एंटर एंड इसके लिए सिंपली इस
बार हम लिख देंगे गेट पुश हमें पूरा ओरिजिन मेन लिखने की ज़रूरत नहीं है। एंटर किया। जैसे ही एंटर किया रिफ्रेश करेंगे तो इस बार हमारी रीड मीट फाइल हमारे पास अवेलेबल है जो हमें यहां पर दिखाई दे रही है। ये एक छोटा सा चेंज रह गया कि हैश के बाद स्पेस आना चाहिए था। क्लियर करके इसे भी हम ऐड कर लेते हैं। गेट कमिट - m फिक्स्ड रीड मी एंड गेट पुश। यह हमने अपने चेंज को यहां पर फिक्स कर दिया है। तो यह अच्छे से बोल्ड में अब दिखाई दे रहा है। तो इस
तरीके से हम अपनी इनेट कमांड एंड अपनी पुश कमांड के साथ काम कर रहे होते हैं। पर मोस्टली कोशिश करनी है कि जब भी हम रेपो बनाएं, जब भी हम नया प्रोजेक्ट बनाएं, उसकी शुरुआत हम गिट के साथ ही कर दें। क्योंकि पहले गिट पर बनाकर उसको अपने लोकल सिस्टम में क्लोन करना थोड़ा सा ज्यादा आसान होता है कंपैरेटिवली। अब नेक्स्ट हम बात करने वाले हैं कि क्या हमारा वर्क फ्लो रहा? जब हम लोकल गेट के साथ काम करते हैं तो जनरली हमारा वर्क फ्लो ये रहेगा कि पहले तो हम गेट hub के ऊपर अपनी
फाइल्स बना लेंगे या अपनी रेपो बना लेंगे। उस रेपो को फिर हम क्लोन कर रहे होंगे। जैसे ही क्लोन करेंगे, फिर उसके अंदर हम अपने चेंजेस करेंगे। जैसे ही हमारे पास कुछ चेंजेस आ गए, पहले हम उन चेंजेस को ऐड करेंगे। फिर हम उन चेंजेस को कमिट करेंगे और फिर हम उन चेंजेस को पुश करने वाले हैं गेट के ऊपर। तो जनरली जो हमारा वर्क फ्लो रहेगा, हम इसी वर्क फ्लो के साथ काम करेंगे। अब नेक्स्ट हम बात करने वाले हैं गिट ब्रांचेस के साथ। गेट ब्रांचेस का मतलब हमें ऑलरेडी पता है कि अगर एक
प्रोडक्ट के ऊपर बहुत सारे लोग काम कर रहे हैं या बहुत सारे अलग-अलग फीचर्स बन रहे हैं तो हर सेपरेट काम के लिए एक सेपरेट ब्रांच बनती है। ब्रांच कहने का मतलब है लेट्स सपोज हमने यहां से शुरू किया। किया। एक नई रेपो बनाई। इसके ऊपर हमने एक कमिट वन किया। फिर हमने सेकंड कमिट किया। फिर सेकंड कमिट के बाद हमें लगा हमें कुछ फीचर डेवलप करना चाहिए। तो उसकी हमने एक अलग कॉपी बना ली। एक अलग ब्रांच में और उसके अंदर हमने अपना कमिट थ्री किया, कमिट फोर किया, कमिट फाइव किया। ऐसे ही साथ
के साथ हमें लगा कि हमें साथ के साथ अपना कुछ काम करते चले जाना चाहिए। तो यहां पर हमने कुछ कमिट सिक्स किया होगा। यहां पर हमने कुछ कमिट सेवन किया होगा। अभी इस ब्रांच के अंदर जो फाइनल चेंज होगा और इस ब्रांच के अंदर जो फाइनल चेंज होगा ये दोनों चेंजज़ अलग-अलग हैं। और जैसे हमारे पास अलग-अलग ब्रांचेस बनती हैं जो तो जैसे ये हमारा कमिट वन हो गया, कमिट टू हो गया। यहां से हमारी एक नई ब्रांच निकल गई। कमिट थ्री हो गया, कमिट फोर हो गया। यहां से मेन ब्रांच हमारी चलती आ
रही है या इसे मास्टर कह लेते हैं या मेन कह लेते हैं। इसके अंदर हमारा कमिट नंबर फाइव है, कमिट नंबर सिक्स है। अब हम चाहते हैं कि नेक्स्ट जो हमारा कमिट हो उसमें ये ब्रांच यहां आके मर्ज हो जाए। तो यहां पर हम सेवंथ कमिट में इन दोनों ब्रांचेस को मर्ज भी कर सकते हैं। तो ये हमारा मर्ज का पॉइंट हो जाएगा। मर्ज करना दो ब्रांचेस को मतलब दोनों के अंदर कोड को सेम कर देना। यानी मेन ब्रांच और ये जो फीचर ब्रांच है इन दोनों का कोड अगर हम मैच करा दें दोनों के
अंदर सेम कोड डाल दें तो उसका मतलब होगा हमने दो ब्रांचेस को मर्ज कर दिया है। अब ये ब्रांचेस हम क्रिएट क्यों करते हैं? हम इसलिए क्रिएट करते हैं क्योंकि लेट्स सपोज कोई एक व्यक्ति है जो एक फीचर पे काम कर रहा है। दूसरा डेवलपर है जो दूसरे फीचर पे काम कर रहा है। अब क्या ये जो ओरिजिनल डेवलपर था इसको वेट करना चाहिए कि दूसरा डेवलपर अपना पहले काम खत्म करेगा तभी मैं नए चेंजज़ ऐड करूंगा। तो जनरली तो बहुत सारे डेवलपर्स काम कर रहे होते हैं। तो हर कोई एक दूसरे का वेट नहीं
कर सकता। तो हर कोई क्या करता है? अपनी एक कॉपी बना लेता है और उसके ऊपर काम करना शुरू कर देता है और बाद में जो मेन कॉपी होती है, जो ओरिजिनल कॉपी होती है, उसके साथ अपने कोड को मर्ज कर देता है। ऐसे ही कोई दूसरा व्यक्ति है जो अपना कॉपी बनाता है, काम करता है और फिर उसे मेन के साथ मर्ज कर देता है। तो ऐसे ही हर डेवलपर को दूसरे डेवलपर का काम खत्म होने के लिए वेट नहीं करना पड़ता। तो ये फायदा होता है हमारे पास ब्रांचेस को यूज़ करने का। अब
ब्रांच के लिए हमारे पास काफी सारी कमांड्स होती हैं। किसी भी टाइम पर अगर हम चेक करना चाहते हैं कि हम कौन सी ब्रांच पर हैं तो हम कभी भी टाइप कर सकते हैं गिट ब्रांच। तो अपनी इस लोकल रेपो के अंदर अभी हम अपनी लोकल रेपो के अंदर हैं। यहां क्लियर कर लेते हैं चेक करने के लिए कि हम कौन सी ब्रांच पर हैं। हम टाइप कर सकते हैं गिट ब्रांच। तो अभी हम मेन ब्रांच पर हैं। अगर हम चाहते हैं कि हम अपनी ब्रांच का नाम चेंज कर दें तो उसके लिए हमें ऑलरेडी
पता है हम लिखते हैं गिट ब्रांच - m और फिर अपना नया नाम। तो यहां पर मेन नया नाम है। हम चाहे तो कुछ और नाम भी दे सकते हैं। इसके अलावा अगर हम एक ब्रांच से दूसरी ब्रांच में जाना चाहते हैं तो उसके लिए हम लिखते हैं गिट चेक आउट और अपनी दूसरी ब्रांच का नाम। तो चेक आउट मतलब जैसे हम होटल से चेक आउट करते हैं वैसे ही यहां से हम एक ब्रांच से चेक आउट करते हैं और दूसरी ब्रांच में जाते हैं। अब अभी तो यहां पर हमारे पास एक ही ब्रांच है।
पर नई ब्रांचेस क्रिएट करने के लिए हम लिख सकते हैं गिट चेक आउट -b न्यू ब्रांच। अपनी नई ब्रांच का नाम। तो अब एक नई ब्रांच क्रिएट करते हैं गेट चेक आउट माइनस बी। और नई ब्रांच का हम नाम लिख सकते हैं फीचर वन। तो इसे कह देते हैं फीचर वन। एंटर किया। और अब हम लिख सकते हैं गिट ब्रांच। गिट ब्रांच करने से हमारी सारी ब्रांचज़ आ गई। मेन है और फीचर वन है। और अभी हम कहां पर हैं? जो ग्रीन में है यानी फीचर वन। अब हमें फीचर वन से मेन में जाना है
तो हम सिंपली लिख सकते हैं गेट चेक आउट मेन और दोबारा चेक कर लेंगे। अभी हम मेन ब्रांच में हैं। दोबारा फीचर में जाना चाहते हैं तो हम लिख देंगे गेट चेक आउट फीचर वन। तो अब हम फीचर वन के अंदर आ गए। ऐसे ही हम दूसरी ब्रांचेस को क्रिएट कर सकते हैं। हम लिख सकते हैं गेट चेक आउट - b फीचर टू वाली ब्रांच। इसको लिख देते हैं फीचर टू। और चेक कर लेते हैं गेट ब्रांच। अब हमारे पास तीन ब्रांचेस आ गई। अगर हमें किसी भी पॉइंट पर किसी भी ब्रांच को डिलीट करना
होता है तो उसके लिए हम लिखते हैं गिट ब्रांच माइनस डी। माइनस डी यानी डिलीट उस ब्रांच का नाम। लेट्स सपोज अगर हमें फीचर वन को डिलीट करना है या फिर हमें फीचर टू को डिलीट करना है। तो अगर हम फीचर टू पर ही खड़े हैं तो फिर हम फीचर टू को डिलीट नहीं कर पाएंगे। जैसे अगर हम यहां लिखें गेट ब्रांच माइनस डी फीचर टू एंटर किया तो हमारे पास एरर आ जाएगा। क्यों? क्योंकि अब अभी हम उसी ब्रांच के ऊपर हैं। अभी तो हम फीचर टू के ऊपर ही हैं। तो पहले हमें किसी
और ब्रांच के पास जाना पड़ेगा। तो यहां से पहले हम गिट चेक आउट करेंगे। लेट्स सपोज मेन ब्रांच पर आ जाते हैं और अभी हम कहां पर हैं? अभी हम मेन ब्रांच पर हैं। अब हम फीचर टू को डिलीट कर सकते हैं। तो गेट ब्रांच - डी फीचर टू एंटर किया। तो अभी हमारी ब्रांच डिलीट हो गई। दोबारा गेट ब्रांच करेंगे। तो अब हमारे पास सिर्फ दो ही ब्रांचेस हैं। तो ये सारे के सारे हमारे कमांड्स होते हैं हमारी ब्रांचेस के साथ डील करने के लिए। अब हम क्या करने वाले हैं? हमारी जो फीचर वन
वाली ब्रांच है, इसके अंदर हम कोई नया फीचर ऐड करेंगे। तो गिट चेक आउट कर लेते हैं। गिट चेक आउट फीचर वन। तो गिट ब्रांच करेंगे। तो अभी हम फीचर वन पे हैं। फीचर वन पे हैं। तो अब जो हम जितने भी चेंजज़ करेंगे वो सिर्फ फीचर वन के अंदर ही होंगे। जैसे लेट्स सपोज़ हमारी इंडेक्स के अंदर यहां पर हमने एक नया पैराग्राफ ऐड कर दिया। दिस इज़ अ न्यू फीचर करके। दिस इज़ अ न्यू फीचर। इसको कर लेते हैं सेव। अब यहां पर गिट स्टेटस देखेंगे। गेट स्टेटस। तो अभी हमारा स्टेटस यह है
कि हमारी फीचर वन ब्रांच के अंदर ये हमने इंडेक्स के अंदर मॉडिफिकेशन किया है। तो इसे हम ऐड कर लेते हैं और साथ के साथ इस चेंज को हम कमिट कर सकते हैं। ऐड न्यू फीचर ये हमारा चेंज हो गया। एंटर किया एंड अब हम गिट स्टेटस चेक करेंगे। तो अभी ऑन ब्रांच फीचर वन यानी हम अपनी ब्रांच फीचर वन के ऊपर हैं। अभी हमारे पास कुछ एक्स्ट्रा चेंज नहीं है कमिट करने के लिए। वर्किंग ट्री क्लीन। तो जो ब्रांचेस होती हैं जो जो गिट का पूरा का पूरा सिस्टम होता है उसको कहते हैं वर्किंग
ट्री। यानी हमारा एक ट्री बनता है और उसी के अंदर ब्रांचेस आ रही होती हैं। पर जैसे ही अब हम चेक आउट करेंगे मेन पर तो हम अगर लिख दें गेट चेक आउट मेन तो मेन पर जाते ही क्या आएगा? मेन पर जाते ही स्विच करेंगे तो इंडेक्स एचtml के अंदर से वो नया फीचर गायब हो गया। तो अभी जो हमने चेंजज़ किए हैं वो सिर्फ फीचर वन के अंदर हैं। वापस से गेट चेक आउट फीचर वन करेंगे। तो वापस आ गए। तो हमारा फीचर भी वापस आ गया। तो अभी हमारे पास क्या है? जो
हमने चेंजेस किए हैं वो चेंजज़ हमारे फीचर वन के अंदर हैं। और अभी हम कौन सी ब्रांच पे हैं? अभी हम फीचर वन ब्रांच के ऊपर ही हैं। अब हम चाहते हैं कि ये चेंजेस हमारे यहां पर भी आ जाए यानी गेट के ऊपर भी आ जाए। तो गेट हब के ऊपर चेंजज़ लाने के लिए हम करते हैं गेट पुश ओरिजिन। यानी हम ओरिजिन के ऊपर पुश करना चाहते हैं। पर कौन सी ब्रांच में? हम अपनी फीचर वन ब्रांच के अंदर पुश करना चाहते हैं। इस बार हम मेन नहीं लिखेंगे। इस बार हम कह रहे
हैं कि हम फीचर वन के अंदर अपनी चेंजेस को पुश करना चाह रहे हैं। एंटर किया तो यहां से इस तरीके का मैसेज हमारे पास आएगा। और जब हम गेटअप के ऊपर जाएंगे। अब गिट के ऊपर गए तो ये हमें कुछ कंपेयर एंड पुल रिक्वेस्ट जैसा कुछ दिखा रहा है। पर अपनी ब्रांचेस के अंदर हमें अब दो ब्रांचेस दिखा रहा है। एक है हमारी मेन ब्रांच और ऑटोमेटिकली इसने हमारे लिए फीचर वन वाली ब्रांच क्रिएट कर दी। फीचर वन वाली ब्रांच के अंदर हमारे पास यहां इंडेक्स एचटीml के अंदर हमारा नया फीचर हमें दिखाई दे
रहा है। और हमारी जो मेन ब्रांच है उसके अंदर अभी कोई नया फीचर नहीं है। तो कोई कमिट के अंदर नया फीचर नहीं है। अब अगर हम चाहते हैं कि हम अपनी फीचर ब्रांच और अपनी मेन ब्रांच को मर्ज कर दें। मर्ज करने का क्या मतलब है कि लेट्स सपोज हम अपने चेंजेस किए जा रहे थे और हमने क्या किया? एक अलग से अपनी ब्रांच बनाकर उसके अंदर नया फीचर ऐड किया। अब इस नए फीचर को हम चाह रहे हैं वापस से हम अपने मेन के साथ मर्ज कर दें इस तरीके से। तो उसके लिए
हमारे पास दो तरीके होते हैं कोड को मर्ज करने के। सबसे पहला तरीका होता है कि हम गिट के थ्रू ही यानी कमांड लाइन के थ्रू ही मर्ज कर सकते हैं। मर्ज करने के लिए सबसे पहले दोनों ब्रांचेस में हम डिफरेंसेस चेक कर सकते हैं। दो ब्रांचेस को कंपेयर कर सकते हैं। तो जब भी हमें दो ब्रांच दो कमिट्स को कंपेयर करना होता है। दो ब्रांचेस को दो फाइल्स को कंपेयर करना होता है तो उसके अंदर हमारे पास कमांड होती है गिट डिफ और फिर ब्रांच का नाम। जैसे यहां पर अभी हम कौन सी ब्रांच
पे हैं? यहां पे एक बार क्लियर कर लेते हैं। यहां पे अभी हम फीचर ब्रांच पे हैं। पर अगर हम फीचर ब्रांच को मेन ब्रांच के साथ कंपेयर करना चाहते हैं तो हम लिख सकते हैं गेट डिफ मेन। तो यहां पर डिफरेंसेस आ गए। ये हमें दिखा रहा है कि हमारी जो फीचर वन ब्रांच है वो मेन ब्रांच से आगे है और उसमें ये पॉजिटिव चेंज है। मतलब ये चीज एक्स्ट्रा ऐड हुई है फीचर ब्रांच के अंदर। तो ये तो आ गए डिफरेंसेस। अब दोनों ब्रांचेस को मर्ज करने के लिए हम लिख सकते हैं गिट
मर्ज ब्रांच नेम। तो यहां पर जैसे ही हम गिट मर्ज ब्रांच नेम लिख देंगे यानी गिट मर्ज मेन लिख देंगे तो हमारी फीचर मेन के साथ मर्ज हो जाएगी। ये है पहला तरीका जिसको हम अभी नहीं करने वाले जिसको हम बाद में देखेंगे। दूसरा तरीका होता है यूजिंग गेट। गेट के थ्रू हम क्या करते हैं? हैं। दो ब्रांचेस को मर्ज करने के लिए हम पीआर क्रिएट करते हैं। पीआर इज़ अ पुल रिक्वेस्ट। पुल रिक्वेस्ट क्या होती है? गेट के ऊपर पुल रिक्वेस्ट का मतलब होता है दैट इट लेट्स यू टेल अदर्स अबाउट द चेंजेस यू
हैव पुश टू अ ब्रांच इन अ रेपो ऑन गेट। यानी जब एक प्रोजेक्ट के ऊपर बहुत सारे लोग काम कर रहे होते हैं। और हर कोई चाहता है कि अपना कोड मेन के साथ मर्ज कर दे। तो जब एक ही प्रोजेक्ट के ऊपर बहुत सारे डेवलपर्स मेन के साथ मर्ज करना चाहते हैं तो उस केस में क्या होता है? वो पुल रिक्वेस्ट के थ्रू ये काम करते हैं। पुल रिक्वेस्ट यानी ये हम रिक्वेस्ट डाल रहे हैं कि मर्ज कर दो। तो एक्चुअली क्या होता है? अगर हमने अपनी ब्रांच के अंदर कुछ चेंज कर लिया और
उसे हम अपनी मेन ब्रांच के साथ पुश करना चाहते हैं। तो मेन ब्रांच को कुछ कोई सीनियर डेवलपर होगा जिस जो मेन ब्रांच के ऊपर काम कर रहा होता है या मेन ब्रांच के ऊपर देख रहा होगा या फिर हमारा कोई प्रोजेक्ट मैनेजर होगा प्रोडक्ट मैनेजर होगा तो वो क्या करेंगे? जैसे ही हम चेंजेस क्रिएट करेंगे वो पहले हमारी पीआर को रिव्यू करेंगे। पीआर को रिव्यू करने का मतलब होता है हम क्या चेंजज़ नए ऐड करना चाह रहे हैं। कहीं हम गलती से कुछ गलत तो नहीं ऐड कर रहे अपनी मेन ब्रांच के अंदर। और
फिर वो उस पे चाहें तो कमेंट कर सकते हैं कि नहीं ये चीज चेंज करो इसके अंदर। ये पीआर अभी एक्सेप्ट नहीं हो सकती। कि ये फीचर की अब जरूरत नहीं है। इस तरीके की कुछ भी जो रिव्यूज होते हैं वो वहां पर डाल सकते हैं। एंड उस हिसाब से जनरली सीनियर डेवलपर्स का फिर डिसीजन होता है कि उन्हें मर्ज करना है या नहीं करना। पर अभी हम ही जूनियर डेवलपर हैं। हम ही सीनियर डेवलपर हैं। तो हम क्या कर सकते हैं? यहां से अपनी फीचर वन के लिए हम कंपेयर एंड पुल रिक्वेस्ट इस ऑप्शन
पर क्लिक करेंगे। यहां पर चले जाएंगे। तो हम यहां से दिख रहा है कि मर्ज करने की कोशिश कर रहे हैं अपनी फीचर वन ब्रांच को अपनी बेस ब्रांच यानी मेन ब्रांच के साथ। तो मर्ज करने के लिए हमें यहां मैसेज लिखना पड़ता है ऐड न्यू फीचर। तो यहां से हम एक नई पुल रिक्वेस्ट को क्रिएट कर देंगे। नई पुल रिक्वेस्ट क्रिएट कर दी। गेट चेक कर रहा है क्या ऑटोमेटिकली मर्ज हो सकता है? तो ऑटोमेटिकली मर्ज हो सकता है। उसके लिए ग्रीन दिखा दिया गेटब ने। ऑटोमेटिकली मर्ज होने का मतलब है कि हो सकता
है कि मेन के अंदर उसी सेम लाइन के अंदर कुछ और लिखा हो। आपने कुछ और लिख दिया। तो उससे क्या हो सकता है? कॉन्फ्लिक्ट्स आ सकते हैं। प्रॉब्लम्स आ सकती हैं। पर अभी तो हमने कहां चेंज किया? अभी तो हमने सेकंड लाइन के अंदर चेंज किया। मेन के अंदर तो फर्स्ट लाइन के अंदर चेंज हुआ था। तो हम क्या कर सकते हैं? इसे मर्ज कर सकते हैं। मर्ज करने के लिए यहां पर हो सकता है कोई सीनियर डेवलपर रिव्यू करे तो वो यहां पर कुछ कमेंट लिख दे। पर अभी हमें कोई कमेंट नहीं लिखने।
पर अभी हम सिंपली मर्ज पुल रिक्वेस्ट पर क्लिक करेंगे। जैसे ही क्लिक किया यहां पर हम लिख सकते हैं कंफर्म मर्ज। जैसे ही कंफर्म मर्ज करेंगे एक नया कमिट ऐड हो जाएगा। किस नाम से कमिट ऐड होगा? मर्ज पुल रिक्वेस्ट। यानी पुल रिक्वेस्ट को मर्ज करने का भी अलग से कमिट होता है। क्योंकि यह भी एक चेंज है। इसका भी स्क्रीनशॉट लिया जा रहा है। तो इसे कंफर्म मर्ज कर देते हैं। तो यहां आ गया पुल रिक्वेस्ट सक्सेसफुली मर्ज एंड क्लोज्ड। यानी पीआर जो थी जो रिक्वेस्ट थी पुल रिक्वेस्ट वो क्लोज्ड हो चुकी है। और
अब कोड के अंदर आ जाएंगे। कोड के अंदर आए तो अब मेन के अंदर भी मुझे दिखाई दे रहा है ऐड न्यू फीचर। तो अब मेन और फीचर वन दोनों के अंदर सेम चेंजज़ हमें दिखाई देंगे। क्योंकि अब फीचर वन के चेंजेस मेन के साथ जुड़ चुके हैं, मर्ज हो चुके हैं। तो इस तरीके से हमारी पीआर काम करती है। हम चाह तो कभी भी कोई नई ब्रांच बना रहे हैं या कुछ और नई नई चीज अगर हम क्रिएट कर रहे हैं तो हम सिंपली जाकर उसके लिए एक नई पुल रिक्वेस्ट क्रिएट कर सकते हैं।
और पुल रिक्वेस्ट के अंदर हम बता सकते हैं कि हम क्या नया चेंज लेकर आ रहे हैं इस कोड के अंदर। अब यहां पर आ जाते हैं कोड के अंदर और एक बार अपने लोकल सिस्टम में आते हैं। लोकल सिस्टम में क्लियर करेंगे और गेट चेक आउट कर देते हैं मेन पर। अभी हम कहां पर हैं? अभी हम अपनी मेन ब्रांच के अंदर हैं। पर नोटिस करें तो मेन ब्रांच के अंदर तो वह फीचर आए ही नहीं। फीचर कहां पर मर्ज हुए? फीचर तो गेटअप के ऊपर मर्ज हुआ। फीचर वन मेन ब्रांच के साथ गेटअप
के ऊपर मर्ज हुई। पर हमें तो वो चेंजज़ अपने लोकल के अंदर भी चाहिए। तो जब भी हमें रिमोट के चेंजेस लोकल के अंदर लाने होते हैं, तो उसके लिए हम पुल कमांड को यूज़ करते हैं। पुल कमांड को लिखने के लिए हम लिखते हैं गेट पुल ओरिजिन में। पुल कमांड का काम होता है टू फेच एंड डाउनलोड कंटेंट फ्रॉम अ रिमोट रेपो। यानी जो हमारी रिमोट रेपोजिटरी है गिट के ऊपर वहां से सारा कंटेंट डाउनलोड करती है और अपने लोकल रेपो के अंदर लेकर आकर उस कंटेंट को हम मैच करने की कोशिश करते हैं।
तो अपने सारे कंटेंट को गिटब से लोकल के अंदर लाने के लिए हम लिखते हैं गेट पुल ओरिजिन मेन एंटर किया तो सारे चेंजेस हमारे पास आ गए और अब मेन के अंदर भी हमें हमारा नया फीचर जो है वो दिखाई दे रहा है। अब नेक्स्ट हम बात करने वाले हैं मर्ज कॉन्फ्लिक्ट्स के बारे में। मर्ज कॉन्फ्लिक्ट्स यानी जब भी हम दो और ब्रांचेस को मर्ज करते हैं और दोनों के अंदर सेम ही लाइन में या सेम ही फाइल में चेंजज़ हो रखे होते हैं। तो गिट को समझ नहीं आता कि एक ब्रांच के चेंजेस
रखने हैं या दूसरी ब्रांच के चेंजेस रखने हैं। तो उसके लिए हम क्या करेंगे? अपने मेन के अंदर कुछ चेंज करते हैं। जैसे लेट्स सपोज मेन के अंदर हमने नया फीचर ऐड किया है और नए फीचर के अंदर हम ऐड कर रहे हैं एक बटन। इस तरीके से हमने फीचर के अंदर एक बटन ऐड कर दिया। इसको हम कर लेते हैं सेव। तो गेट ऐड ऑल एंड गेट कमिट - m ऐड बटन। तो हमने क्या किया? एक बटन को ऐड कर दिया मेन के अंदर। अब फीचर वन के अंदर वापस से चेक आउट कर देते
हैं। गेट चेक आउट टू फीचर वन। फीचर वन के अंदर अभी ये कोड हमें दिखाई दे रहा है। और हम सेम जगह क्या करेंगे? फीचर वन के अंदर जाकर हम बटन नहीं हम एक ड्रॉपडाउन ऐड करने वाले हैं। तो हमने अपने पेज के ऊपर एक ड्रॉपडाउन ऐड कर दिया। यह एक दूसरा फीचर है कोई। इसको हमने कर लिया सेव। और इस चेंज को भी हमने अपनी ब्रांच के ऊपर कौन सी ब्रांच पर हैं? हमें हम अभी फीचर वन ब्रांच के ऊपर हैं। तो फीचर वन के ऊपर हम इस चेंज को ऐड कर सकते हैं। और
इस सेम चेंज को हम कमिट कर सकते हैं। कमिट किया तो कमिट में हम लिख सकते हैं ऐड ड्रॉपडाउन। तो ये हमने ड्रॉपडाउन को ऐड कर लिया। अब हमारी मेन और फीचर वन के अंदर अलग-अलग चेंजेस हैं। दोनों के डिफरेंसेस अगर देखें, तो हम लिख सकते हैं गेट डिफरेंस विद मेन। तो, हमारी फीचर वन का मेन के साथ डिफरेंस आ गया कि मेन के अंदर तो यहां बटन ऐड हो रखा था। जिसको हमने डिलीट करके क्या किया? वहां पे ड्रॉपडाउन ऐड कर दिया। तो दोनों ब्रांचेस के अंदर चेंजज़ हैं। अब दोनों ब्रांचेस के अंदर चेंज
कहां हुआ है? दोनों ब्रांचेस के अंदर चेंज सेम जगह हुआ है। अब हम दोनों ब्रांचेस को मर्ज करेंगे। अब मर्ज करने के हमने दो तरीके सीखे थे। पहला था कि पुल रिक्वेस्ट क्रिएट कर लो। उसको हम ऑलरेडी देख चुके हैं। दूसरा तरीका होता था कि हम गिट मर्ज लिख देंगे। तो हम क्या करने वाले हैं? कमांड लाइन वाला तरीका अब यूज़ करेंगे। तो किसी भी एक ब्रांच को दूसरी ब्रांच से मर्ज करने के लिए हम लिख सकते हैं गिट मर्ज और फिर दूसरी ब्रांच का नाम। अभी हम अपनी फीचर वन ब्रांच पे हैं। तो हम
लिखेंगे गिट मर्ज मेन एंटर करेंगे। जैसे ही हमने एंटर किया वैसे ही क्या किया? बीएस कोड ने हमें कुछ एरर दिखा दिया। और ये क्या है? इन्हीं को हम कहते हैं कॉन्फ्लिक्ट्स। मर्ज कॉन्फ्लिक्ट्स। मर्ज कॉन्फ्लिक्ट हमारा एक इवेंट होता है दैट टेक्स प्लेस व्हेन गेट इज़ अनेबल टू ऑटोमेटिकली रेल्व डिफरेंसेस। यानी एक फाइल के अंदर जब एक ब्रांच ने हम चेंज किया और उसी सेम जगह जब दूसरी ब्रांच ने चेंज कर दिया। तो गिट को समझ नहीं आता कि दोनों में से किसका कमिट फाइनल रखना है। तो गिट इज़ नॉट एबल टू रिसॉल्व डिफरेंसेस। दोनों
के बीच का डिफरेंस समझ नहीं आता गिट को। तो उस केस में हमें मैनुअली बताना पड़ता है कि हमें कौन सी फाइल का चेंज चाहिए। तो इसी को कहते हैं रिजॉल्विंग मर्ज कॉन्फ्लिक्ट्स। तो हमारे पास मर्ज कॉन्फ्लिक्ट्स बहुत बार आते हैं कोडिंग के अंदर। तो उन्हें हमें रॉल्व करना होता है। रिॉल्व करने के लिए वीएस कोड क्योंकि एक स्मार्ट एडिटर है तो वो हमें काफी सारे ऑप्शंस ऑटोमेटिकली दे देता है। ये हमें बता रहा है एक्सेप्ट करंट चेंज। करंट चेंज एक्सेप्ट करने का मतलब है कि अभी जो हमने फीचर वन के अंदर लिखा हुआ था
हमें वही चीज चाहिए। एक्सेप्ट इनकमिंग चेंज का मतलब है कि अभी फीचर वन मेन ब्रांच से जो यहां पर चेंज आ रहा है। इनकमिंग चेंज क्या है? इनकमिंग चेंज है जो मेन ब्रांच से आ रहा है। और करंट चेंज क्या है? करंट चेंज है जो अभी फीचर वन ब्रांच में है। तो अगर हमें इनकमिंग चेंज चाहिए, मेन ब्रांच वाला चेंज चाहिए तो इस बटन पे क्लिक कर सकते हैं। अगर हमें दोनों चेंजज़ चाहिए एक-एक लाइन में तो हम इस बटन पे क्लिक कर सकते हैं। तो या तो हम डायरेक्टली इन पर इन ऑप्शंस पे क्लिक
कर सकते हैं या फिर डायरेक्टली हम खुद से डिसाइड कर सकते हैं क्या चेंज चाहिए। तो मर्ज कॉन्फ्लिक्ट को रॉल्व करने के लिए पहले तो ये जो अजीब सी लाइनें हमारे पास आई हैं, इनको हमें हटाना पड़ता है। इस लाइन को हमने हटा दिया। ये जो अजीब सी लाइन ऐड हुई है, इसको हटा देते हैं। ये जो हेड नाम की अजीब सी लाइन ऐड हुई है, इसको हटा देते हैं। तो अब अगर हमने सिर्फ ऐसे इतना छोड़कर कोड को सेव कर लिया तो इसका मतलब है हम दोनों फीचर चाहिए। हमें। अगर हम इस लाइन को
हटा देते हैं, तो इसका मतलब है कि हमें सिर्फ ड्रॉपडाउन वाला फीचर चाहिए और हम ड्रॉपडाउन को हटाकर बटन को रख लेते हैं तो इसका मतलब हमें सिर्फ बटन वाला फीचर चाहिए। तो हमारी मर्जी है। हम कितने भी फीचर्स रख सकते हैं। लेट्स सपोज हमें दोनों फीचर्स चाहिए। तो इसको कर लेते हैं सेव। सेव किया। तो अब स्टेटस चेक कर लेंगे। स्टेटस में क्या दिखा रहा है? स्टेटस में दिखा रहा है हमारे पास मॉडिफाइड फाइल है। तो इसे हमें क्या करना पड़ेगा? कमिट करना पड़ेगा। तो इसे पहले ऐड कर देते हैं। फिर इसे कमिट करते
हैं। - m ऐड बोथ फीचर्स और इस बार हम गेट स्टेटस देखेंगे। तो हमारी ब्रांच हम फीचर वन के ऊपर हैं। और कुछ भी नहीं है कमिट करने के लिए। सारी की सारी चीजें अप टू डेट हैं। और गिट डिफरेंस देखेंगे। तो अभी गेट डिफरेंस विद मेन देखेंगे। तो मेन के कंपैरिजन में हमारे पास एक चेंज ज्यादा है। अब हम गिट चेक आउट मेन पर जा सकते हैं। मेन पर जैसे ही जाएंगे क्लियर कर लेंगे। मेन पर जाते ही क्या हुआ? फीचर वन वाला फीचर गायब हो गया। अब हम चाहते हैं मेन के साथ अपने
फीचर वन को मर्ज कर लें। तो उसके लिए हम लिख सकते हैं गेट मर्ज फीचर वन। तो अब मेन के साथ फीचर वन मर्ज हो गया। मर्ज हो गया। तो ऑटोमेटिकली जो फीचर वन के अंदर था वो यहां आ गया। इस बार हमारे पास मर्ज कॉन्फ्लिक्ट इसलिए नहीं आया क्योंकि सेम लाइन के अंदर चेंजज़ नहीं है। दूसरी फाइल में सेम लाइन के अंदर सेम चेंज नहीं था। इसीलिए गिट को अभी ऑटोमेटिकली समझ में आ गया कि क्या चेंज उसे करना है। अब हम चाहें तो इन नए चेंजेस को पुश कर सकते हैं। गिट पुश एंटर।
तो अब ये सारे चेंजेस रिफ्रेश करेंगे। ऐड बोथ फीचर्स। तो ये सारे चेंजेस इंडेक्स के अंदर अब हमारे गेट के ऊपर भी हमें दिखाई देने स्टार्ट हो जाएंगे। तो इस तरीके से हम अपने मर्ज कॉन्फ्लिक्ट्स को रॉल्व करते हैं। नेक्स्ट हम बात करने वाले हैं अबाउट अनडूइंग चेंजेस। कभी कबभार गलती से हम कुछ ऐसा चेंज ऐड कर देते हैं जिसे हमें ऐड नहीं करना था या कुछ ऐसा कमिट कर देते हैं जिसे हमें कमिट नहीं करना था। तो उन चीजों को अनडू कैसे करना है? तो अनडू करने के लिए सबसे पहले हमारे पास काफी सारे
केसेस होते हैं। सबसे पहले हम स्टेज चेंजेस की बात करेंगे। यानी वो चेंजज़ जो ऐड हो चुके हैं पर कमिट नहीं हुए। ऐसा एक चेंज लेकर आते हैं। इसे करते हैं क्लियर। अभी हम कौन सी ब्रांच के ऊपर हैं? अभी हम अपनी मेन ब्रांच के ऊपर हैं। लेट्स सपोज़ मेन ब्रांच के ऊपर हम गलती से अपना बटन डिलीट कर देते हैं। इसे हमने डिलीट कर दिया। और इसे हमने ऐड भी कर दिया। अभी हम गेट स्टेटस देखें तो हम ऐड कर चुके हैं। अब बस कमिट करना है इस चेंज को। पर हमें पता चला बटन
को तो हमने गलती से डिलीट कर दिया। वापस से हमें उसी स्टेज पर आना है। अब अभी तो हमने छोटी सी लाइन डिलीट की है पर हो सकता है हम बहुत सारी लाइनों के अंदर अलग-अलग चेंजज़ करें और सबको ऐड कर दें और हमें वापस जाना हो। तो वापस जाने के लिए हम लिख सकते हैं गेट रिसेट और फिर उस फाइल का नाम जिसको हमें रिसेट करना है। अगर हमने एक-दो फाइल के अंदर ही चेंजेस किए हैं तो रिसेट करने के लिए हम एक-एक फाइल का नाम लिख सकते हैं। जैसे यहां पर हम लिख सकते
हैं गिट रिसेट और फिर हमारी फाइल का नाम था इंडेक्स. तो उससे क्या होगा? हमारे सारे के सारे ऐड वाले चेंजेस रिसेट हो जाएंगे। पर अगर हमें बहुत सारी फाइल्स के अंदर एक साथ सारे चेंजज़ रिसेट करने हैं, तो हम सिंपली गिट रिसेट भी लिख सकते हैं। तो अब चेंजेस को रिसेट करने के लिए हम यहां टाइप कर सकते हैं गिट रिसेट। गेट रिसेट एंटर करेंगे तो यहां हमारे पास आ जाएगा अनस्टेज्ड चेंजज़ आफ्टर रिसेट। अब गिट स्टेटस को हम चेक करेंगे। तो गिट स्टेटस में दिखा रहा है कि मॉडिफाइड इंडेक्स है। पर इन चेंजज़
को हमने ऐड नहीं किया अभी। तो ऐड भी नहीं किया, कमिट भी नहीं किया। पहले क्या था? ऐड करने के बाद दीज़ चेंजज़ वर रेडी फॉर कमिट। पर अभी ये चेंजज़ कमिट के लिए रेडी नहीं है। अभी इन्हें पहले हमें स्टेज करना पड़ेगा। दूसरी तरीके की मिस्टेक जो हम कर सकते हैं कि गलती से हमने कुछ चेंज है जिसको कमिट कर दिया। अब जैसे इसे कर लेते हैं क्लियर। लेट्स सपोज हमने गलती से अपना बटन डिलीट कर दिया। इस चीज को हमने ऐड भी कर दिया और इस चीज को हमने कमिट भी कर दिया। -
m इसे लिख देते हैं डिलीट बटन। तो हमने गलती से अपने बटन को डिलीट कर दिया। अब स्टेटस देख लेते हैं। तो गिट स्टेटस में क्या है? गिट स्टेटस में ये दिखा रहा है कि हमारी ब्रांच अभी एक कमिट आगे है। मतलब गिटब के ऊपर तो बटन है हमारा। इंडेक्स. के अंदर गीब के ऊपर हमारा बटन वाला फीचर है। पर यहां पर हमने गलती से डिलीट कर दिया। अब ये चेंज है जिसको हमें वापस लेकर जाना है। अगर हमारे पास कोई ऐसा सिंगल कमिट होता है जिसको हम अनडू करना चाहते हैं तो उसके लिए हम
लिखते हैं गेट रिसेट हेड टिल्ड वन। यहां पर हेड टिल्ड का वन का क्या मतलब होता है? हेड टिल्ड वन का मतलब ये होता है कि जितने भी हमारे पास कमिट्स होते हैं उन कमिट्स को हम स्टोर करके रखते हैं इंटरनली गिट के अंदर। और इसमें जो हमारा लेटेस्ट कमिट होता है, जो लास्ट चेंज जिसका हमने स्क्रीनशॉट लिया है, इसका नाम बाय डिफॉल्ट होता है हेड। तो, यहां पर हेड टिल्ड वन लिखकर हम कहना चाहते हैं कि हेड को रिसेट कर दो एक स्टेप। यानी हेड में जो लास्ट चीज थी उसको एक स्टेप पीछे लेकर
चले जाओ। तो अब हम चाहते हैं कि हेड ये अगर हमारा कमिट वन था ये कमिट टू था। कमिट थ्री था, कमिट फोर था। हम चाहते हैं हमें कमिट फोर नहीं चाहिए। हम वापस कमिट थ्री पे जाना चाहते हैं। तो हम क्या कर रहे हैं? हम बेसिकली यहां से अपने हेड को हटाकर अपने हेड को कमिट थ्री के ऊपर सेट कर रहे हैं। उससे क्या होगा? गेट ये वाला लेटेस्ट चेंज भूल जाएगा। और गेट के लिए ये चेंज पुराने वाला चेंज मेरा लेटेस्ट चेंज बन जाएगा। तो उसको एक बार करते हैं। हम लिख सकते हैं
गिट रिसेट हेड टिल्ड वन एंटर किया। तो अब दोबारा से वह सारे के सारे चेंजेस अनस्टेज्ड हो गए। यानी अभी हमने उन चेंजेस को कमिट कर दिया था। पर इस बार हम गेट स्टेटस देखें तो वापस से वो उसी स्टेज में आ गए। यानी ऐड और कमिट से पहले वाली स्टेज। जब ऐड किया था उससे जस्ट पहले वाली स्टेज। हम चाहें तो गेट लॉग करके अपने सारे कमिट्स को चेक कर सकते हैं। गेट लॉक किया तो ये सारे कमिट्स आ गए। लास्ट कमिट ऐड बोथ फीचर्स का था। उससे पहला ऐड ड्रॉपडाउन था। उससे पहला ऐड
बटन था। यहां से क्यू करके हम क्विट कर सकते हैं। तो बेसिकली कभी भी जाकर हम अपने कमिट्स को चेक कर सकते हैं कि कब हमने कौन सा कमिट किया था कौन सी ब्रांच के अंदर। तो अभी हम अपनी मेन ब्रांच के अंदर और मेन ब्रांच के अंदर ये सारे कमिट्स हुए हैं। अब लेट्स सपोज हम एक कमिट की जगह मल्टीपल कमिट्स पीछे जाना चाह रहे हैं। अभी तो हमने बात कर ली कि हेड को हमें एक पीछे लेकर जाना है। पर हेड को अगर हम दो पीछे या तीन पीछे लेकर जाना चाह रहे हैं
तो तो मल्टीपल कमिट्स को अनडू करने के लिए हम अपने उस कमिट का हैश नोट करते हैं। क्या होता है? हैश बेसिकली एक कोड होता है। हर कमिट के साथ अपना एक स्पेसिफिक हैश होता है जो उसके साथ फिक्स्ड होता है और यूनिक होता है। तो हम जिस कमिट के पास वापस जाना चाहते हैं लेट्स सपोज हम थ्री से वन वाले के पास वापस जाना चाहते हैं और यहां पर अपने हेड को रिसेट करना चाहते हैं। तो हम क्या करते हैं? उस कमिट का हम हैश कॉपी कर लेते हैं और हम लिखते हैं गेट रिसेट
और उस कमिट पे चले जाओ जिस कमिट का हम हैश कॉपी कर रहे हैं। लेट्स सपोज हम वापस से ऐड बटन वाले कमिट के पास जाना चाहते हैं। तो ये उसका हैश है। इस हैश को हम कॉपी कर सकते हैं। और यहां पर हम लिख सकते हैं गेट रिसेट और#श को कॉपी कर लिया। एंटर कर दिया। तो अब हम गेट स्टेटस देखेंगे। तो गेट स्टेटस से क्या हुआ? अब हमारे पास जितने भी चेंजेस हमने उसके बाद एक्स्ट्रा किए हैं वो सारे के सारे वापस आ गए। और इस बार हम गिट लॉग करेंगे। तो गिट लॉग
में वो जो ऐड बोथ फीचर्स या ऐड ड्रॉपडाउन था वो सारे कमिट्स अब हट चुके हैं। अब हमारे पास जो लेटेस्ट कमिट आ रहा है सबसे ऊपर जो कमिट आ रहा है वो कमिट है ऐड बटन का। तो हमारा लेटेस्ट कमिट हमारा हेड अब चेंज हो चुका है। यहां से क्विट करने के लिए दोबारा क्यू प्रेस कर देंगे और इसे हम क्लियर कर सकते हैं। तो किसी भी पॉइंट पर जाकर अगर हमें अपनी हिस्ट्री चेक करनी है कमिट की तो हम गिट लॉग को कर सकते हैं और गिट लॉग से हमारे सारे के सारे कमेंट्स
हमें दिखाई देने लग जाएंगे जो पुराने कमिट्स हैं। दोबारा क्विट करके इसे कर लेते हैं क्लियर। अब गिट स्टेटस करें तो अभी तो हमें क्या दिखा रहा है? अभी तो हमें वो सारे चेंजेस दिखा रहा है जो हमने बाद में किए हैं। यानी ऐड बटन के बाद में जो हमारा लेटेस्ट कमिट था उसके बाद में जो चेंजज़ किए हैं वो भी अभी हैं। यहां पर फाइल्स के अंदर हमें मॉडिफाइड ही दिखा रहे हैं। पर हम तो चाहते हैं उस कमिट के बाद वाले जो चेंजज़ हैं वो भी पूरी तरीके से हट जाएं। तो उन सबको
हटाने के लिए जब हम गिट रिसेट करते हैं। तो जैसे यहां पर हमने गिट रिसेट किया तो गिट रिसेट के साथ हम यहां माइनस माइनस हार्ड लिख सकते हैं। माइनस माइनस हार्ड लिखने से क्या होगा? हमारे वीएस कोड के अंदर भी यानी कोड के अंदर से भी चेंजज़ हट जाएंगे। तो गिट के अंदर से तो हट ही जाएंगे। वीएस कोड के अंदर से भी हट ही जाएंगे। एंटर करेंगे। तो अब क्या हुआ? वापस से हम बटन वाले चेंज पर आ गए। अब कुछ अनमोडिफाइड वगैरह कुछ नहीं आ रहा। और इस बार गेट स्टेटस करेंगे। वापस
से हम उसी कमिट पर आ गए हैं जहां पर हम ओरिजिनली थे। तो इस तरीके से हम अपने चेंजेस को अनडू कर सकते हैं इनसाइड गिट। अब नेक्स्ट हम बात करने वाले हैं फ़र्क के बारे में। रेपोज़िटरीज़ को हम GitHub के ऊपर फॉर्क भी कर सकते हैं। फ़र्क करने का मतलब होता है एक नई रेपोज़िटरी बनाना जिसके अंदर वो सेम कोड और सारी सेम सेटिंग्स हो जो हमारी दूसरी किसी रेपो के अंदर है। तो बेसिकली फॉर्क क्या होती ये फर्क हमारी किसी भी प्रोजेक्ट की रफ कॉपी होती है। लेट्स सपोज़ हमें किसी दूसरे व्यक्ति के
प्रोजेक्ट के ऊपर काम करना है। जैसे अगर हम ओपन सोर्स के अंदर कंट्रीब्यूट करना चाहते हैं। हम दूसरी कंपनीज़ की रेपोज़िटरी के ऊपर काम करना चाहते हैं या हम अपने किसी दोस्त के प्रोजेक्ट के साथ काम करना चाहते हैं। तो हम क्या कर सकते हैं? पहले तो उस प्रोजेक्ट को हम गेटअप के ऊपर जाकर सर्च करते हैं। तो यहां से हम सर्च कर सकते हैं। लेट्स सपोज़ हमें एक्सप्रेस का कोड चाहिए। एक्सप्रेस अगर हम सर्च करेंगे तो ये एक्सप्रेस JS एक्सप्रेस की हमें रेपो मिल जाएगी। ये रेपो ऑफिशियल रेपो है एक्सप्रेस जेएस के अंदर और
इसके अंदर अभी ये सारे लोग कंट्रीब्यूटर्स हैं जिन्होंने कंट्रीब्यूट किया है। अब हम चाहते हैं कि ये वाला जो प्रोजेक्ट है इसकी कॉपी हम अपने अकाउंट पे बना लें। हम अपने गेट अकाउंट पे बना लें। तो इस प्रोजेक्ट को हम फॉर्क कर सकते हैं। फर्क करने का मतलब अपनी खुद के लिए एक रफ कॉपी बना लेना। तो फ़र्क करने के लिए हम इस फॉर्क वाले ऑप्शन पर जाते हैं और इस पर क्लिक करते हैं। और ये क्या करेगा? हमारे अकाउंट में इस प्रोजेक्ट की हम चाहें तो सेम नाम से या किसी और नाम से कॉपी
बना सकते हैं। और कॉपी बनाने के लिए हम या तो सेलेक्ट कर सकते हैं कॉपी द मास्टर ब्रांच ओनली या फिर हम चाहें तो पूरा प्रोजेक्ट कॉपी कर सकते हैं। क्रिएट कर देंगे फॉर्क और कभी कबभार बड़ा प्रोजेक्ट होता है तो फॉर्क क्रिएट होने में कई बार ज्यादा टाइम भी ले लेता है। तो उसके लिए हमें थोड़ा सा वेट करना पड़ सकता है। और यह आ गया हमारा प्रोजेक्ट फ़र्क होकर। अब अगर हम नोटिस करें तो एक्सप्रेस के सारा का सारा कोड हमारे गीब अकाउंट में भी आ गया। सारी चीजें रीड मी वगैरह सब कॉपी
होकर आ गया है। पर यह एक्सप्रेस का अकाउंट नहीं है। यह हमारा खुद का अकाउंट है। अब वैसे तो हम पुल रिक्वेस्ट क्रिएट करने की कोशिश कर रहे हैं पर उसे करना नहीं है एक्चुअली क्योंकि हमने बहुत ही फालतू सा यहां पे चेंज किया है। हमने कुछ यूज़फुल ऐड नहीं किया रेपो के अंदर। पर जनरली पुल रिक्वेस्ट को हम इसी तरीके से यूज़ करते हैं जब हम कुछ यूज़फुल चेंज दूसरे लोगों के कोड के अंदर कर रहे होते हैं। जैसे उन्होंने कोई गलती कर रखी है कोड के अंदर तो उसको हमने फिक्स कर दिया। या
फिर कोई नया फीचर हम उनके कोड के अंदर, उनकी वेबसाइट के अंदर, उनके सॉफ्टवेयर के अंदर ऐड करना चाहते हैं। तो और वैसे जो ओरिजिनल ओनर है उसने अभी लिमिट भी कर रखा है कि नए यूज़र्स पुल रिक्वेस्ट क्रिएट नहीं कर सकते क्योंकि उन्होंने भी एक्सपीरियंस किया होगा कि ऐसे ही लोग फालतू चेंजज़ करके पुल रिक्वेस्ट क्रिएट कर रहे हैं। पर हमें कभी भी अननेसेसरी पुल रिक्वेस्ट क्रिएट नहीं करनी। जब भी हमको यूज़फुल चेंज करें तभी हम अपनी पुल रिक्वेस्ट को क्रिएट कर रहे होंगे। तो इस तरीके से हमारा फर्क काम करता है GitHub के
ऊपर। तो ये हमने काफी सारे डिफरेंट-डिफरेंट कमांड्स एंड काफी सारी डिफरेंट-डिफरेंट फंक्शनैलिटीज डिस्कस कर ली हैं गिट एंड GitHub की जिनको हम डे टू डे बेसिस पर यूज़ करते हैं। जब भी हम अपने प्रोजेक्ट्स के साथ या दूसरे लोगों के प्रोजेक्ट्स के साथ काम करते हैं डेवलपमेंट प्रोसेस को हम एग्जीक्यूट कर रहे होते हैं। तो आई होप कि गिट एंड GitHub को हम अच्छे से सीख गए होंगे। तो इसी तरीके के अगर आपको और ट्यूटोरियल्स चाहिए या किसी नए टॉपिक के ऊपर वीडियो चाहिए तो उसके बारे में भी आप मुझे नीचे बता सकते हैं। या
फिर अगर आप फुल स्टक वेब डेवलपमेंट कंप्लीट सीखना चाहते हैं तो उसके लिए अपना कॉलेज पर हमारे पास डेल्टा बैच अवेलेबल है जिसको जाकर हम अपना कॉलेज की वेबसाइट के ऊपर एक्सप्लोर कर सकते हैं। जिसमें 4 1/2 महीने के अंदर हम कंप्लीट वेबसाइट्स बनाना सीखते हैं। तो आज के लिए इतना ही मिलते हैं नेक्स्ट वीडियो कीप लर्निंग एंड कीप एक्सप्लोरिंग।