Hi everyone, मैं हूँ आपकी शदा दीदी and welcome to अपना college आज के tutorial के अंदर हम detail में cover करने वाले हैं Git and GitHub के बारे में तो हम detail में बिल्कुल scratch से Git and GitHub को पढ़ेंगे अगर हमें कोई idea नहीं है कि Git क्या होता है, GitHub क्या होता है इनको हम use कैसे करते हैं, क्या commands हम use करते हैं अच्छे खासे level तक हम cover कर रहे होंगे इसके साथ सारी जो Git की commands होती हैं अब जिट की जब हम बात करते हैं तो जिट एक काफी important tool होता है जो हर एक developer को चलाना आना चाहिए, क्योंकि अगर हम किसी भी तरीकी की development करते हैं, तो उसमें जब हम large projects के ऊपर काम करेंगे, या in fact अगर हम small projects के ऊपर भी काम करते हैं, तो जिट की basic knowledge होना जरूरी है, साथ के सा डिफरेंट डिफरेंट कॉन्सेप्स के मतलब क्या होते हैं, ये सारी चीज़े एक अच्छे डेविलपर को पता होनी चाहिए, और इन सारी चीज़ों को हमने अच्छे से डीटेल में इस ट्यूटोरियल के अंदर कवर कर रखा है, तो अब स्टार्ट करते हैं अपने गिट औ Version Control Systems हमारे ऐसे tools होते हैं जो हमें help करते हैं to track changes in code. इसको ऐसे सोच सकते हैं कि जैसे हमारे पास bank account होता है, तो bank account के अंदर पूरी की पूरी statement होती है कि account के अंदर कब कोई amount credit हुई, कब debit हुई, कब उस amount के ऊपर कितना tax लगा, तो इस तरीके की काफी सारी information होती है. ऐसी ही information जब हम अपने किसी code या अपने किसी project के लिए save करवाते हैं, तो उसको करवाते हैं in the form of a version control system.
यानि version control system project की पूरी history track करता है कि उस code के अंदर कब कोई नई file add हुई, कब कोई file delete हुई, कब हमने code के अंदर किस line के अंदर क्या update किया, क्या change किया, कौन सी line को delete किया, तो इस तरीकी की सारी history version control systems track करते हैं, और git ऐसा ही एक काफी popular version control system है, अब git को use करने के कई सारे reasons है, सबसे पहला, git is one of the most popular version control systems in the world, यानि ये आपको companies के अंदर काम करते time भी काफी सारी companies के अंदर हम git and github को use कर रहे होते हैं, in fact मैं अपना खुद का example लूँ, तो Microsoft मेरी internship थी, तो उसके code को manage करने के लिए भी हमने git and github को use किया था, second reason है कि git हमारा free and open source होता है, and तीसरा it is fast and it is scalable, अब git को primarily हम दो कामों के लिए use करते हैं, इन में से सबसे पहला काम होता है to track the history, किसकी history हमारी code की history, जिसे for example हम किसी बड़े से project पर काम कर रहे हैं, हम एक website बनानी की कोशिश कर रहे हैं, website के उपर हम एक एक करके बहुत सारे features आड़ कर रहे हैं, सबसे पहले features में हो सकता है कि हमने sign up के लिए जो page है उसे आड़ किया, अब हो सकता है कि जो help का form है, इस feature को build करने में या तो काफी जादा time लग रहा है, इस feature को build करने में बहुत सारे हमें problems आ रहे हैं, तो हम चाहते हैं कि इस feature को हम बाद के किसी phase में build करेंगे, हम चाहते हैं वापस से हमारा code वैसे ही हो जाए, जैसे हमने buttons वाली feature तक complete किया था अ इसलिए हमें कुछ automatic software चाहिए, जो क्या करे, जो हमें बता दे कि buttons तक कितना code लिखा गया था, यानि पुराना हमारा एक history होगा, कि यहां तक हमने यह line of code लिखी थी, और हम चाहे तो कभी भी उसी phase में जा सकते हैं, अपने project को लेकर, तो इसलिए हमारे project की history track करना important है, दूसरा major काम जो git हमें करने में help करता है, वो है to collaborate, collaborate का मतलब होता है कि किसी team के साथ काम करना, जैसे let's suppose अभी तो हो सकता है कि college के अंदर अगर हम हैं तो हम अपने solo projects पर काम कर रहे हैं, पर company के अंदर जाकर तो एक-एक project पर बहुत सारे developers काम कर रहे होते हैं, तो ऐसे में बहुत important हो जाता है track करना कि एक project के उपर कौन से feature में, क्या-क्या changes किस developer ने किये हैं, और सारे लोग एक दूसरे के changes को overwrite ना कर दें, overwrite मतलब same ही file के अंदर, अगर एक व्यक्ति change कर रहा है, और दूसरा व्यक्ति change कर रहा है, तो कौन से व्यक्ति के, कौन से developer के जो changes है, वो accept होने चाहिए उस file के अंदर, इस तरीके की कई सारी problems आती हैं, और ऐसी problems को resolve करने का काम, हम करते हैं using git, तो git हमें collaboration में help करता है, git हमें हमारी code की history track करने में help करता है, यह actually एक skill है, हम ना सिर्फ अपने projects पर, पर actually अपनी developer journey के अंदर, throughout इसे implement कर रहे होंगे, अब ये तो हो गया git के बारे, में, next हम बात करते हैं कि GitHub क्या है, Git हमारा एक tool है, यानि एक software उसे हम समझ सकते हैं, जो हमारी computer system के उपर चलता है, पर GitHub हमारी एक website होती है, जो allow करती है developers को, to store and manage their code using it, यानि हमारी GitHub.com एक proper website है, जिसके उपर developers अपना पूरा code upload कर सकते हैं, फिर उस किये हैं, तो उन changes को वहाँ पर reflect अब GitHub के उपर generally हम as developers अपना पूरा code upload करते हैं और जब भी हम अपना resume बनाते हैं यानि जब भी हम placement के लिए और internship के लिए apply करते हैं तो हम अपने projects के सामने अपने GitHub का link दे देते हैं जहां पर कोई भी HR जो है या interviewer जो है जाकर verify कर सकते हैं कि हमने actually उस project पर काम किया है और उसक और ये जो हमारे projects होते हैं इनको generally हम folder की form में upload करते हैं यानि इसको ऐसे सोच सकते हैं जैसे हमारी Instagram की profile होती है Instagram profile के उपर हम चाहें तो अपनी photos जो है सारी सारी upload कर सकते हैं अब कोई व्यक्ति है जो modeling करता है या कोई व्यक्ति है जो actor है कि यहाँ पर भी मेरी photos या यहाँ पर भी मेरा काम available है उसी तरीके से as developers हम अपने resume या अपने portfolio के साथ अपनी GitHub का link डाल सकते हैं और यह जो projects, folders की form में हम upload करते हैं, इन folders को git की भाषा में हम repository कहते हैं, repository यानि हमारा folder जिसके अंदर हमारा proper code होता है, तो बहुत सारी repositories हैं जिनको हम GitHub के उपर upload कर सकते हैं, अब short में इनको हम repos भी बोल रहे होंगे, क्योंकि repository काफी भारी सा word होता है, पर basic sense यही है कि GitHub हमारी website है, जिसके उपर हम अपने projects या दूसरे code को upload कर रहे होते हैं, and in fact GitHub के उपर हम दूसरे लोगों की code को, दूसरे लोगों की repositories को भी देख सकते हैं, इन फाक्ट उन रेपोजिटरीज की हम कॉपी बना सकते हैं और उसके अंदर खुद के चेंजेस भी डाल सकते हैं। अब गिट को पढ़ने से पहले हम गिट हब के उपर अपनी एक प्रोफाइल बनाना चाहते हैं। अब आपका इमेल आड्रेस कोई नॉर्मल जीमेल आड्रेस भी हो सकता है या फिर वो चाहे तो आपके कॉलेज की कोई इमेल आईडी भी हो सकती है पर generally हमें अपने personal email address के साथ भी अपनी GitHub ID बनानी चाहिए, क्योंकि college की email ID हो सकता है कुछ टाइम के बाद work ना करें जब हम college से graduate हो जाएं, तो इसलिए personal email ID जो हमेशा हमारे पास रहेगी, उसके उपर हमें अपनी अच्छे से GitHub ID setup करनी चाहिए, तो हम इस link पर आ गए हैं, जहा और यहाँ पर इस तरीके से हो सकता है, हमारे पास messages आएं, सबसे पहले हमें अपनी email id डालनी पड़ेगी, तो हमने already अपने लिए एक email id create की है, student at the rate, apna college.in, इसको कर लेते हैं continue, हम अपने लिए कोई भी password है, जिसे set कर सकते हैं, इसे कर देते हैं continue, वैसे काफी weak password है, but let's make it a bit और यहाँ पर मुझे product related emails नहीं चाहिए, verify करना पड़ेगा कि हम एक actual व्यक्ति हैं, यहाँ click कर देंगे, अब हम create account पर, जैसे create का account करेंगे, हमारी email ID के उपर हमारे पास एक code आया होगा, अब यह हमारी email ID है, यह 8211 वाला code हमारे पास आया है, इसको copy कर लेते हैं, paste कर लेते ह अब यहां से पूछा जा रहा है कि team members कितने होने वाले हैं, तो हम बोलेंगे सिर्फ हम काम करने वाले हैं, I am a student, इसको कर देते हैं continue, अब यहां पर हो सकता है कुछ-कुछ options आप चाहें तो choose कर सकते हैं, पर इसका ज़्यादा कोई फरक पड़ेगा नहीं, इसको कर देते हैं continue और इस तरीके से हमारे लिए हमारा dashboard खुलेगा, अब यहाँ पर काफी सारी confusing चीज़ें हमें दिखरी होंगी, पर हमें इतना confused नहीं होना, यह पूरे dashboard को ignore करके हम top right पर जाएंगे, और top right पर हमारे पास हमारे simple options हमें दिखाई देंगे, simple options में सबसे पहले तो हम your profile पर जा सकते हैं, तो यह हमारी github की profile है जो हमारे लिए खुलेगी, यहाँ हमें हमारा username दिखाई देता है, यहाँ हमें हमारी activity दिखाई देती है कि कितने दिन हमने github के ऊपर काम किया है, कितने दिन हम github के ऊपर active तो green मतलब हमने एक contribution किया है आज यानि अपना account बना कर, ये हमारा overview है, overview के अलावा हमारे पास यहाँ repositories का option है, repositories मतलब हमारे projects, अभी हमारे पास कोई public repositories नहीं है, यानि अभी कोई ऐसे projects नहीं है जो हम लोगों को दिखा सके, तो सबसे पहले हम अपने github account पर कुछ-कुछ चीज़ें करने वाले हैं, सबसे पहली चीज़ जो हम करेंगे वो एक नई repositories बनाएंगे अपना college demo के नाम से, नई repository केने का मतलब है हम एक नई project बनाएंगे, उसके लिए एक नई folder बनाएंगे, पर उस project की शुरुआत हम अपने computer या अपने laptop से नहीं करेंगे, उसकी शुरुआत हम GitHub से करने वाले हैं, तो नई repositories बनाने के लिए हम repositories के अंदर जाएंगे और इस new button पे click करेंगे, new button पे जैसे click किया हमारे लिए कुछ options आ गए, यहां हम owner होने वाले हैं repo के, and repo का हम क्या न और हम चाहे तो इसे private भी बना सकते हैं, चाहे तो इसे public भी बना सकते हैं, private repos वो होती हैं, जो दूसरे लोगों को दिखाई नहीं देंगी, सिर्फ हमें दिखाई देंगी, जैसे हमारे Instagram के उपर private stories होती हैं, जो हमारे सिर्फ friends को दिखाई देती हैं, वैसा ही कुछ system है, और public readme हमारी special type की file होती है जिसके अंदर project के बारे में details होती है यानि generally जब भी हम कोई project बनाते हैं गिटब के उपर उसके साथ हमें readme अगर हम initialize करते हैं तो वो एक अच्छी चीज होती है क्योंकि readme के अंदर हम लिख कर बताते हैं कि हमने इस project को क्यों बनाया है इस project के अंदर क्या क्या features हैं और दूसरी related information इसको click कर लेते हैं और यहां से create कर लेते हैं अपनी repository अब repository हमारी create होकर आ गई और इस तरीके का page हमारे लिए खुल जाएगा, और ये page यहां से हमें दिख रहा है, कि student अपना college account के अंदर, अपना college demo नाम की एक repo है, और उस repo का सारा code हमें यहां पर दिखाई देगा, अभी के लिए issues क्या है, pull request क्या है, actions, projects, ये सारी की सारी चीज़ें ignore करनी है, और profile पर आने के बाद हम repositories में जा सकते हैं, अब repositories में हमें अपना college demo नाम की अपनी repositories दिखनी शुरू हो गई है, इस पर जैसे ही हम click करेंगे, हम वापस से अपनी repo के अंदर आ जाएंगे, यहाँ पर हमें दिख रहा है कि हमारे project के अंदर एक single file है readme.md,.md का मतलब होता है markdown वो वाली चीज यहाँ पर आड़ेड है, और यहाँ कुछ initial commit जैसा दिखाई दे रहा होगा one minute ago, initial commit कहने का मतलब होता है कि हमने first time कुछ commit किया है, commit मतलब कुछ change किया है, जैसे हमने खाली project बनाया है और उसके अंदर readme को add किया है, तो यह हमारा पहला change है इस project के अंदर, तो अब जैसे commit real life के अंदर होता है, commit का मतलब होता है basically commitment, अब जैसे relationship में commitments होती हैं, यानि पहले हमारा engagement का phase आता है, and उसके बाद हमारा शादी का phase आता है, यानि wedding का phase आता है, तो ये दो step के अंदर हमारा commitment का process चलता है in relationships, वैसा ही कुछ git and github के साथ होता है, यानि git के अंदर स� commit का मतलब होता है change अब पक्का हो गया, add करनी का मतलब है कि उस change को हमने add कर लिया कि हाँ अब ये change commit करने के लिए तैयार है, तो किसी भी change को final करना git and github के उपर two step process होता है, अब git के उपर तो changes को हम add commit दोनों करेंगे और इनको हम detail में पढ़ेंगे कि add commit actually होते क्या है और इने तो जब हम कहते हैं कि git या github हमारी history save करता है, history save करने का मतलब है कि जब जब हमने commits से screenshot लिया था, तो तब तब वाले वो सारी screenshot saved हैं, वही हमारी history है, यानि वो commits को save करता है in the form of history, अब अगर हम प्रोजेक्ट के अंदर हमें कुछ और change करना है, let's suppose कुछ change करने के लिए readme.md एक और line extra add करते हैं, और यहाँ पर मैं author add करने वाली हूँ, Shraddha Khapra, which is my name, आप चाहीं तो अपना name add कर सकते हैं as author, author मतलब कौन इस project के अंदर changes कर रहा है, तो यहाँ से, यह तो हमने एक change कर दिया, पर यह change अभी save नहीं हुआ, इस change को save कराने के लिए, मतलब इसका screenshot लेने के ताकि memory के अंदर save कर सकें, तो मतलब ये हमारे screenshot का एक तरीके से हम समझ सकते हैं कि हम नाम लिख रहे हैं, तो हमारे commit का कुछ नाम लिख रहे हैं, इसको हम नाम दे रहे हैं update readme.md, और अभी के लिए ये default option हम save कर लेते हैं, इसको कर देते हैं commit changes, जैसे ही changes commit करेंगे, अब वा हमेशा जो भी हमारा code होता है, जो भी हमारी files होती है, हर file के सामने उसका latest commit आता है, कि last यहाँ पर क्या change हुआ था, तो last change हुआ था update करने का, तो वो हमारे पास यहाँ पर लिख कर आता है, इसके सास साथ एक चीज़ आप सोच रहे होंगे, कि readme.md के अंदर, तो हमने इसे next file जैसे अगर हम यहाँ प अपना BR tag, BR tag का basic मतलब होता है next line HTML के अंदर, पर उसे हम readme के अंदर भी use कर सकते हैं, जैसे हम commit changes करेंगे, हम यहाँ लिख सकते हैं update readme with next line, या इससे लिख सकते हैं add next line, commit कर दिये changes, and जैसे हमने changes कर दिये, इस बार हमारी वो जो line है, अब next line पर आ गई, दुबारा code के अंदर तो readme के अंदर changes करने के लिए हम थोड़ा सा basic HTML है जिसको सीख सकते हैं, उसके related already one shot बनाया हुआ है, इतना difficult नहीं है, one of the easiest thing जो आप coding के अंदर सीख सकते हैं वो है HTML, तो इसको basic थोड़ा सा पढ़ लेंगे, तो चीज़ें clear हो जाएगी, बाकि इतना जादा हम इसे use भी नहीं गिट हब जैसे एक website के उपर होता है, पर गिट हमारा हमारे system के अंदर, यानि हमें अपने laptop और अपने computer के अंदर गिट को चलाना होता है, अब गिट को setup करने के लिए हम कुछ-कुछ चीज़ें डाउनलोड करेंगे, जिसमें से सबसे पहला है Visual Studio Code, Visual Studio Code हमारा free and open source code editor है, one of the most popular इसको जाकर सबसे पहले हमें डाउनलोड करना है, चाहे हम Windows या फिर हम Mac सिस्टम या Linux सिस्टम के उपर हैं, इसको डाउनलोड करने का प्रोसेस पूरा का पूरा आपको दिखाया हुआ है, डेपेंडिंग अपान योर मशीन, इसके सासाथ अगर हम Windows यूजर हैं, तो हमें Git Bash को जैसे हम terminal के लिए search करेंगे हमारे पास terminal आ जाएगा तो जितने भी windows user हैं उनके लिए visual studio code and windows git bash उन्हें download करना है and verify करने के लिए एक बार सब कुछ download और setup हो जाता है verify करने के लिए कि चीज़ें चल रहे हैं क्या एक बार अपने terminal के उपर हमें लिख कर देखना है git minus minus version इसका मतलब होता है कि git minus minus version लिखने से हमारे पास git का वो version आ जाता है जिसको हमने download करके setup किया है तो अगर ये हमें सही से चीज़ें दे रहा है तो इसका मतलब git already setup है तो डाउनलोड करने से पहले भी अगर आपने पहले Git के साथ काम किया है तो आप चेक कर सकते हैं कि आपके पास already Git installed है या नहीं है जितने भी students Mac machine को use कर रहे हैं तो Mac के ऊपर हम इस तरीके से finder में जाकर search कर सकते हैं टर्मिनल और जैसे terminal हमारे पास आएगा इसे कर लेते हैं clear और terminal को हम इस तरीके से open कर सकते हैं तो यहाँ पर हमारे लिए terminal खुल गया और हो सकता है कि आपकी machine के ऊपर पहले से किसी Mac machine के ऊपर already Git पहले से installed हो तो उसको verify करने के लिए हम लिख सकते हैं Git minus minus version तो हमारे पास Git का version आजाएग तो सबसे पहले इसको डाउनलोड करने के लिए हम सर्च करेंगे इंटरनेट पर डाउनलोड, VS Code, तो यह first जो link आएगा, इस पर हमें चले जाने हैं, यहाँ पर site में मैं बता देती हूँ, code.visualstudio.com, slash download, अब इसमें काफी सारे option आ गए, अब आप Windows मशीन पर हैं, Windows 7, 8, 10, 11 प पर जाना है और इस लिंक पर जाएंगे इस लिंक पर जाकर हमें क्लिक करना है अपने विंडोस के ऑप्शन पर विंडोस के पर जाएंगे और हम पर देखेंगे तो डाउनलोड से हमारी इस पर क्लिक करके हमारे पास यह विंडो से पूरे-पूरे जाएगा यहां पर हम चूज करेंगे अप्शनल यूनिक फॉर ऑप्शन या नियुक्त करेंगे इसका दुबारा से इस चीजों को डिफॉर्ट चोड़ते जाएंगे आपका नेक्स्ट करेंगे और जैसे इस चार्ट जाएगा अ पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसके बाद हमारे पर इसक पीटाइट कमांड यूज कर सकते हैं इस कमांड से हम वर्किंग डिरेक्ट्री मिल जाएगी और अभी जो मारी वर्किंग डिरेक्ट्री है वापिस यूजर्स और श्रद्धाम अब हमसे कर देते हैं क्रॉस और कभी भी अगर हम इसे दुबारा खोल दो दुबारा से हम अपन तो गिट को configure करने के लिए, तो basically हम अपना user name और बाकी सारी details setup करते हैं configure करने में, तो हम लिखते हैं git config, minus minus global, user.name और फिर अपना नाम, git config से हम configure करते हैं अपनी git को, and उसमें global level पर हम configuration कर रहे हैं, दो तरीके की configurations होती हैं, एक हमारी global level पर, यानि पूरे के पूरे system के अंदर जब भी आप git change करेगा, तो वो उसी email id से change करेगा, और एक होता है local level पर, local यानि कि हम किसी एक specific repo के अंदर, किसी एक specific project के अंदर, अलग account से changes कर रहे हैं, तो अगर हमने बहुत सारे git के accounts नहीं बनाए हुए, तो simply हम global setup कर सकते हैं, global configuration कर सकते हैं, तो हम लेकेंगे minus minus global, फिर हमें setup करना है सबसे पहले अपना नाम, यानि user.name, तो इसको setup करने के लिए हम अपने terminal को खोल सकते हैं, और अगर आप Windows machine पर हैं, तो हमें git bash को खोलना है, और primary folder के अंदर है, और इसी के अंदर बैठ कर हम git को configure करेंगे, तो सबसे पहले हम लिखने वाले हैं, git config, minus minus global, user.name, और इसके बाद हम लिखेंगे अपना नाम, अब यहाँ नाम में हम वो नाम लिख सकते हैं, जिससे हमने अपना GitHub account बनाया था, तो मैंने student अपना college के नाम से अपन minus minus global user dot email, and उसके बाद double quotes के अंदर हम अपना email address लिखेंगे, तो वो था student at the rate अपना college dot in, हमें वही email address यूज़ करना है, जिससे हमने GitHub के उपर account setup किया था, तो यह हमने कर दिया, अब हम देखना चाहते हैं कि get config से हमने क्या क्या setup किया है, get config minus minus list, get config minus minus list, कि username में हमने यह नाम setup किया है, और user email में हमने इस चीज़ को setup किया है, तो basically हमारे पास git के अंदर, एक credentials helper होता है, जो हमारी credentials store करता है, credentials यानि हमारा username हो गया, या हमारा name हो गया, या हमारी email होगी, इस तरीके की information, तो वैसे तो git की जो आगे वाली commands हम पढ़ने वाले हैं, उन सारी commands को हम इस terminal के उपर भी लिख सकते हैं, बट एक और better तरीका होगा, git को system के अंदर use करने का, with a code editor. क्योंकि generally जब भी हम projects के ऊपर काम कर रहे हैं, हम किसी coding project के ऊपर काम करेंगे, और हम चाहेंगे कि git को use करने के साथ साथ हमारे project के अंदर changes चलते रहें, तो generally हम अपने project को, यानि coding के process को git के process के साथ रखना चाहते हैं, तो अब हम visual studio code को खोल सकते हैं, और visual studio code को खोलेंगे, अब इस window के अंदर इस welcome को cross कर देते हैं, और यहां हमने already अपने system के उपर एक git demo नाम का folder बनाया हुआ है, उसे हम open करने वाले हैं, open करते हैं, हम search करेंगे git demo, git demo के अंदर अपना folder हम open कर लेंगे, और अभी यह हमारा git demo folder है, जो खाली है, इसके अंदर अभी कोई files नहीं है, कोई extra folders नहीं है, और इसी के अंदर हम सारा क तो यहाँ से terminal वाले option को choose करना है, और basically जो सारा का सारा terminal हमारा बाहर से run हो रहा था, वो सारा वी एस कोड के अंदर भी accessible है, तो अभी हम कहाँ पर हैं, अभी हम git demo नाम के इस folder के अंदर हैं, हम चाहें तो यहाँ से भी git का version चेक कर सकते हैं, तो git का version हमारे पास print होकर आ गया, इसका मतलब है git यहाँ से भी accessible है, इसको कर लेते हैं clear, अब सबसे पहले हम कुछ git की basic commands के साथ शुरुवात करने वाले हैं, सबसे पहले basic commands जिनकी हम बात करेंगे, यह है clone and status, Clone command का काम होता है to clone a repository on our local machine. तो हमारे पास दो जगे होती हैं, एक होता है हमारा remote और एक होता है हमारा local.
जब भी हम local word यूज़ करेंगे, इसका मतलब है हमारा laptop या फिर हमारा computer. जब भी हम remote की बात करते हैं, remote मतलब जो files या जो folders GitHub के उपर हैं. तो clone command को, clone का मतलब होता है duplicate बनाना, तो clone command को हम use करते हैं कि हमारी किसी GitHub की repo को अगर हमें अपने system के उपर copy करना है, तो copy करने के लिए हम अपनी clone command को use करते हैं इसको लिखने के लिए हम use करते हैं get clone और फिर अपने project का link अब हम क्या कर सकते हैं, GitHub के उपर जाएंगे और यह जो अपना college demo नाम का हमने project बनाये था इस code नाम के green button के उपर click करके HTTPS के अंदर इसका हम link copy कर लेंगे तो इसका HTTPS का link copy हो गया, अब HTTPS is one of the easiest way to clone our repository into our local machine and GitHub भी आजकल यही prescribe करता है कि जब हम as a beginner GitHub को सीख रहे हैं तो हम HTTPS से ही cloning करें, वैसे हम SSH से भी कर सकते हैं, पर उतना detail में हम नहीं जाएंगे, क्योंकि mostly हम HTTPS ही use करेंगे अपने projects के लिए, तो इसको कर लेते हैं copy, copy कर लिया, यहां गई VS Code के अंदर, अभी हम Git demo के अंदर हैं, और हम क्या चाहते हैं, Git demo के अंदर ही हम अपना college demo न जैसे ही एंटर किया, यहाँ कुछ cloning into और यह सारी चीज़ें आ गई, और अब हमें दिख रहा है कि Git demo के अंदर हमारे पास एक folder आ गया है, अपना college demo नाम से, और अपना college demo के अंदर हमारी यह file है readme.md, तो यह file हमारे पास आ गई, जिस file को हमने GitHub के ऊपर create किया था, और इसके अंदर 100 files भी होती, तो सारी की सारी हमारे system के अ तो इस तरीके से हमारा project क्या हुआ, हमारा project या हमारी repo clone होगी हमारी system के अंदर, हम चाहें तो अपने अब इस folder के अंदर जा सकते हैं, अब इस folder के अंदर जाने के लिए हम अपनी terminal की एक command लिखते हैं, cd, cd का मतलब होता है change directory, यानि हम उस directory के अंदर जाना चाहें, मैं लि� let's suppose ये हमारा git demo नाम का folder है, और इसी के अंदर एक और चोटा folder है, अपना college demo नाम से, जब बाहर वाले folders हैं, अब अंदर वाले folders में जाना चाहते हैं, तो उसके लिए हम CD लिखते हैं, और फिर अपने folder का नाम, तो अंदर वाले folder का नाम है, अपना college-demo, अब terminal के अंदर auto completion भी तो अब हम कहा आ गए, अब हम अपना college demo के अंदर आ गए, जब भी चेक करना हो अभी हम कहा पर है, कौन से folder में है, यह देख लाएंगा कि terminal के उपर percentage से पहले हमारे कौन से folder का नाम लिखा हुआ है, और terminal को कभी भी clear करना हो, खाली करना हो, तो उसके लिए हम clear command लिख सकते हैं तो हमारे पास एक ही file है अभी अपना college demo के अंदर which is readme.md अब जब भी हमारे folders बनते हैं system के अंदर उनके अंदर दो तरीके की files होती हैं एक होती है हमारी normal files जो हमें दिखाई देती हैं जैसे हमारी readme.md और एक होती है हमारी hidden files जिनको हम से terminal के थूँ access कर सकते हैं तो अपनी hidden files को देखने के लिए हम type कर सकते हैं command ls-a minus a से क्या होगा हमारी hidden files hidden files भी आ जाएंगी और इसको enter किया कि हमारे पास चार चीज़ें प्रिंट हो कर आ गई हैं, चार चीज़ों में से readme.md तो हमें पहले ही पता थी, ये दो folders हमारे पास आ गए हैं, plus एक.git नाम का एक folder हमारे पास आ गए हैं, तो जितनी भी files को git track करता है, मतलब जिस भी folder के अंदर, git काम कर रहा है, उसकी files की history को तो ये तो हो गई हमारी clone command, जिससे हम किसी भी project को अगर GitHub के उपर है, तो उसे अपनी local system के अंदर ला सकते हैं, उसके अलावा हमारे पास होती है हमारी status command, status command हमारे code का status हमें बताती है, और status command के लिए हम simply लिख सकते हैं, get status, तो अपने project के अंदर जाकर, अगर हम type करते हैं, get status यानि जो code गिठप के उपर है वही code अभी यहाँ पर है पर अगर हम कोई change कर दें अपनी local system में तो मतलब यहाँ author शरद्धा खापरा की जगे मैं यहाँ पर कर दू शरद्धा और bracket में लिख दू अपना college तो यह मैंने क्या किया exchange कर दिया इस change को अब save कर लेते हैं अब क्या हुआ अब यह जो मेरी readme.md है VS code के अंदर यह M वाला symbol आ जाएगा और files yellow color में आ जाएगी smart editor है पहले से बता रहे है कि आपने अपनी files को modify कर दिया है, यानि उनके अंदर कुछ change कर दिया है, जिसको अब आपको commit करने की ज़रूरत है, commit मतलब उसका screenshot लेने की ज़रूरत है, अब जैसे ही हमने change कर दिया, अब अगर हम दुबारा से git status करें, हमने यहाँ पर git status लिखा था second time, change is not staged for commit, और क्या state दिखा रहा है, हमें दिखा रहा है कि हमारी जो readme.md है, ये modified है, मतलब हमने इसे modify कर दिया है, और अब हमें इसे add करना पड़ेगा, फिर commit करना पड़ेगा, जैसे ही हम किसी भी file को modify कर देते हैं, file को modify करने के बाद हमें two step process करना पड़ता है, एक होता है हमारा add का process इसके अलावा हम चाहें तो एक और file create कर सकते हैं अपना college.demo के अंदर, इस file को हम नाम देंगे index.html, तो यह हमारी HTML की file होगी, HTML की file के अंदर अभी हम कोई change नहीं करेंगे, पर दुबारा से अगर git status देखें, एक बार इसे clear करते हैं, और git status के अंदर इस बार दो चीज़ें तो ये हमारी file है index.html तो जब भी हम git status को use करते हैं generally हमारे पास 4 तरीके के status होते हैं इन मिशे सबसे पहला होता है untracked untracked का मतलब होता है ऐसी नई file जिसके बारे में git को नहीं पता और git उसे track नहीं कर रहा git फिर भी इसे untracked file ही बोलेगा modified file नहीं बोलेगा जैसे अगर हम यहाँ पर एक अपना paragraph tag बना दें इसको कर लेते हैं save यहाँ पर clear कर लेते हैं, and दुबारा से git status करते हैं, तो इस बार क्या दिखा रहे है, readme.md को modified दिखा रहे है, और index.html को untracked दिखा रहे है, untracked यानि, क्योंकि index.html, इस file के बारे में git को कभी पता ही नहीं, क्योंकि हमने कभी इसका screenshot नहीं लिगा, modified files, modified यानि, और unmodified का मतलब होता है, सारी files unchanged है, इसके अलावा एक और status हमारे पास होता है staged, staged का मतलब होता है file is ready to be committed, generally हम कोई भी अगर change कर देते हैं file के अंदर, तो file के अंदर अगर कुछ भी change किया जाता है तो वो modified हो जाती है, या फिर अगर new file अगर हम add करते हैं, तो new file के case में वो untracked हो जाती है, और जब भी हम कोई भी जैसे stage के उपर जाके engagement हो जाती है, तो इसको हम समझ सकते हैं कि यह engagement वाली जो stage है, add करने वाली, इसी को हम staged कह देते हैं, तो जब भी हमने file को add किया है पर commit नहीं किया, पर वो commit करने के लिए ready है, मतलब उस file का status है staged, और उसके बाद next हम add करने के बाद अपनी files को करते हैं commit, commit म तो शुरुआत में files या तो modified होती हैं, untracked होती हैं, या दोनों हो सकते हैं, depending upon अगर हमारे पास बहुत सारी files हैं, फिर हम उनको add करते हैं, तो उनका status staged हो जाता है, फिर हम उने commit करते हैं, तो उनका status unchanged हो जाता है, तो जब भी हमें किसी file का या पूरे के पूरे repo का status देखना हो तो add करने के लिए हम लिखते हैं, get, add और फिर अपनी file का नाम, कि किस file के अंदर हम अपनी changes को add कराना चाहते हैं, तो add command क्या करती है, it adds new and changed files, यानि नई या फिर कुछ changed या modified files को हमारी working directory के अंदर, get के staging area में add कर देती है, get के staging area कहने का मतलब है, कि अभी हम यहाँ पर हैं, फ अब wedding में जाने से पहले engagement होगी, engagement का होगी, stage के उपर होगी, तो यह staging area जो है, यह हमारी बीच वाली state है, जो unmodified, untracked, and हमारे commit के बीच में exist करती है, तो basically current working directory, मतलब जहाँ पर अभी हम अपनी changes कर रहे हैं, वहाँ से git के staging area में लेकर हम चले जाते हैं अपनी files को, and उन्हें stage कर देते हैं, तो अपनी files को stage करने के लिए, हम simply लिख सकते हैं git, add, और फिर अपनी file का नाम, जिसे एक file का नाम है हमारे पास index.html, तो हमने इसे enter कर दिया, अब हम करेंगे अगर get status, तो get status में दिखा रहा है, green हो गया status, यानि staged हो गया, तो यहां दिखा रहा है changes to be committed, यानि यह index.html हमारा नया change है, जिसको हमने add कर दिया है, इस वाली को अभी add नहीं किया, यानि readme.md के अंदर जो हमने change किया था, इसको अभी हमने add नहीं किया, तो dot मतलब सारी files को add कर दो, enter करेंगे तो अब हमारी सारी files एक साथ add हो गई, अब दोबारे से देख सकते हैं, get status, अब get status में दिखा रहा है, यह दो changes आपने add किये हैं, और these changes are ready to be committed, अब next stage होती है, changes add कर दिये, तो अब इने commit कर दो, commit करने के लिए, commit करने का मतलब होता है, it is the record of wedding का record होता है, तो वैसे ही commit का record होता है हमारे git के अंदर, commit करने के लिए हम लिखते हैं, git commit, minus m, minus m मतलब commit का क्या message होने वाला है, और फिर उसके बाद हम कुछ message लिखते हैं, generally यह जो हमारा message होता है, इसको कोशिश करनी है, कुछ meaningful message रखना है, जैसे अगर हमने कुछ feature add किया है, तो हम लिख सकते हैं, add new button, या फिर add new feature, या फिर अगर हमने किसी bug को fix किया है, तो हम लिख सकते हैं, fix new bug, या fix old bug, इस तरीके से कुछ meaningful message हमें रखना होता है, तो इसे हम लि और फिर हम अपना message type करेंगे double quotes के अंदर, अब क्योंकि हमने primary जो change ही है, वो index.html के अंदर हमने hello world, यानि paragraph को add किया है, तो हम अपने change को नाम दे देंगे, add new paragraph, तो ये हमारा message हो गया, इसको कर सकते हैं enter, तो अब दिखा रहा है, add new paragraph हो गया है, दो files के अंदर हमने changes किया है, एक हमने index.html के अंदर change किया है, सारी की सारी चीज़ें ठीक हैं, nothing to commit, मतलब कुछ भी uncommitted नहीं है हमारे पास, पर एक चीज और दिखा रहा है, your branch is ahead of origin main by one commit, इसका basic मतलब यह है, कि हमारे local system पे, अब हम एक commit आगे हो गए हैं, as compared to हमारा GitHub, GitHub के उपर, अभी हमारी index.html नहीं दिखेगी, आप refresh कर लेंगे, तब भी हमारा code वैसे का वैसे रहेगा जैसे शुरुवात में था, हमारे जो system, जो हमने अपने computer के अंदर किये, अपने laptop के अंदर किये, ये अभी GitHub के ऊपर नहीं दिखाई दे रहे, तो इनको GitHub के ऊपर दिखाने के लिए, हम अपनी एक और command यूज़ करते हैं, जो होती है हम पहले हमने बात की थी remote होता है हमारा GitHub और local होता है हमारा खुद का laptop या computer तो हम अपने changes को local से remote के पास भेजने के लिए push करते हैं changes को तो अपने code को push करने के लिए हम लिखते हैं get push origin main अपने terminal को कर लेते हैं clear और यहाँ पर हम लिखेंगे get push origin main इसे करेंगे enter जैसे enter करेंगे अगर हम first time ये चीज करने की कोशिश करेंगे अपने GitHub account के साथ तो फिर यहाँ पर इस तरीके से VS Code हमसे permission मांगेगा, permission मांगेगा तो हमें इसे allow करना है, जैसे यह allow करेंगे, यहाँ पर हमारे पास एक screen आएगे, जहाँ हम authorize करेंगे GitHub को for VS Code, हो सकता है आपके लिए भी कोई मिलती जुलती screen आए, तो वहाँ पर हमें करना है authorize Visual Studio Code, ताकि directly ह जैसे हम इसे close कर देते हैं, जैसे हम वापस से GitHub पर जाएंगे, और अपनी repo के ऊपर refresh करेंगे, तो refresh करने से इस बार हमें अपने नए changes दिखाई दे रहे हैं, जो हमने local system के ऊपर किये थे, यानि हमारी index.html हमें दिख रही है, नए commit का नाम दिख रहा है, add new paragraph, और हमारी readme के उसके बाद हमने अपने local system के अंदर नए paragraph को edit किया था, तो कभी भी जाकर अगर हमें पूरी history देखनी है, तो ये हमारी history है, जिसे git track करता है, और अभी हम इसे देख पा रहे हैं, github के थूँ, वैसे हम इसे git के थूँ भी देख सकते हैं, बाद में बात करेंगे कैसे exactly git के थ by default जितनी भी हमारी GitHub की repos होती हैं, उनको हम कहते हैं कि वो हमारी remote repos हैं, और इन remote repos में से हम एक specific, हम एक default repository निकालते हैं, जिससे हमने अपने code को clone किया था, यानि जो हमारी default repository होती है, जिसके उपर, अगर हम इस project के अंदर कुछ भी change कर रहे हैं, तो push करने पर उस remote GitHub के उपर जाना चाहिए, तो वो remote GitHub का हमने नाम रख दिया है origin, हम चाहें तो कुछ और नाम भी रख सकते हैं, पर उसका नाम हमने रख दिया है, मतलब GitHub की, गिट हब के ऊपर जो हमारी copy है, गिट हब के ऊपर जो हमारी repo है, यह वाली copy, इसका हमने नाम origin रख दिया है, और इस origin के अंदर हम इस branch के अंदर, यानि main नाम की branch के अंदर push करने की कोशिश करने है, तो यह जो हमें main यहाँ पर दिखाई दे रहा है, यह हमारी branch का नाम है, औ उसके ऊपर हम directly push करना चाहते हैं, ये इस command का मतलब है, अब अभी तो हमने बात की कि कैसे अगर हमने GitHub के ऊपर कोई project बनाया है, उसको हम अपने system के ऊपर download कर सकते हैं, download करके, यानि clone करके, हम चीजों का status देख सकते हैं, नई changes को add कर सकते हैं, उन changes को commit कर सकते हैं, और वापस स तो उसके लिए हमारी init command हमारे काम आती है, init command का काम होता है, used to create a new git repo, यानि अगर हमारा कोई नया project है, तो उसके अंदर git को initialize करने के लिए, git को use करने के लिए, हम git init लिखते हैं, इसका example लेते हैं, जैसे यहाँ पर git demo जो हमारा folder है, अपनी इस git demo के अंदर हम एक नया folder create करेंगे, command line से, directory के बाहर जाने के लिए हम लिखते हैं cd space.., enter करेंगे तो अब हम बाहर आ गए, मतलब git demo के अंदर आ गए, इस folder के अंदर आ गए, इस folder के अंदर एक नई directory बनाने के लिए, sub directory बनाने के लिए हम एक command लिखते हैं, make dir, यानि make new directory, mkdir, और इस directory को हम नाम देने वाले हैं, इसे सबसे पहले local repo के अंदर चले जाते हैं, cd local repo, enter किया, इसे कर लेते हैं clear, तो अभी हम local repo के अंदर हैं, इन files को यहां से हटा देते हैं, अब local repo के अंदर changes करने के लिए, सबसे पहले हम इसे git repo बनाते हैं, अभी कैसे हमें पता है कि यह git repo नहीं है, क्योंकि जब हम इसकी सारी hidden files तो यहाँ पर लिखा रहा है initialize empty git repository, and इस बार दुबारा से हम ls-a करेंगे, enter किया, तो इस बार हमारे पास.git नाम का folder आ रहा है, यानि अब यह जो repository है, local repo, यह हमारी git repository बन गई है, अब इस repo के अंदर हम कुछ-कुछ changes कर सकते हैं, index.html, let's suppose हमने एक paragraph बना लिया HTML का, this is a new repo, और इसके साथ हम चाहें तो इसके अंदर कोई JavaScript की या style.css की file बना सकते हैं, इसको लिख सकते हैं style.css, तो यह हमारा style.css हो गया, हर paragraph के लिए हम चाहते हैं कि जो color हो, वो color हो जाए red के equal, अब यह क्या है, CSS हम यहाँ पर नहीं सीख रहे हैं, पर यह बहुत basic code है CSS का, CSS मतलब style यानि untracked files हैं, तो VS Code हमें बता रहे हैं, हम चाहे तो status भी check कर सकते हैं, get status यानि 2 untracked files हैं, index और style, अब इन्हें सबसे पहले तो add कर लेते हैं, get add dot, तो सारी add हो गई, status में अब क्या दिखा रहा है, changes to be committed for these 2 new files, इसको एक बार clear कर लेते हैं, अब इन्हें हम commit कर देंगे, commit किय और अब गिट स्टेटस करेंगे, तो इस बार कुछ भी नहीं हमारे पास कमिट करने के लिए सारी चीज़ें हमने सक्सेस्फुली कमिट कर दिये हैं, अब ये तो हमने अपने लोकल सिस्टम के अंदर चेंज़ेस कर लिये हैं, पर अब हम चाहते हैं कि सेम फोल्डर को जो भी तो हम new पर click करेंगे, और new पर click करके हमें वो repo बनानी है, जिसके अंदर हम अपनी code को डालना चाहते हैं, तो अपनी repository को हम नाम दे देंगे, local repo, local repo के लिए description अभी हम छोड़ सकते हैं, public छोड़ सकते हैं, readme.md को अभी हम नहीं initialize करेंगे, क्योंकि readme.md को अगर हमने initialize कर अब सबसे पहली चीज़ जो हमें करनी है, यहाँ पर वैसे instructions भी दे हुए हैं GitHub पर, तो push करने से पहले हमें एक command run करनी होती है, which is git remote add origin और फिर link, इस command का क्या मतलब है, git remote से हम कह रहे हैं, git remote add से हम कह रहे हैं, कि हम एक नया remote add करना चाहते हैं, अब यहाँ पर यह TV वाला remote नह तो हम एक नई remote repo add करना चाहते हैं, इसका क्या नाम रखना चाहते हैं, इसको अब से हम origin कहना चाहते हैं, यानि इसका नाम अब हम origin रखना चाहते हैं, हम चाहे तो इसका कुछ और नाम भी रख सकते हैं, पर get push origin main की जगए, फिर हमें origin में वही नाम डालना पड़ेगा, पर generally by पेस्ट कर दिया, एंटर कर दिया, तो इससे क्या हुआ, हमारा origin सेट हो गया, अब origin क्या सेट हुआ है, उसके लिए हम चेक कर सकते हैं, get remote minus v, get remote minus v का काम होता है to verify remote, कि अभी हम जिस remote repository की बात कर रहे हैं, वो actually है क्या, तो हम run कर सकते हैं, get remote minus v, enter, तो अभी हम जिस remote की बात कर तो student अपना college वाले page के अंदर local repo.git यही हमारी git repository है जिसके उपर हम push operation को perform करेंगे, अब इसके अलावा हमारे पास एक और command होती है git branch के नाम से, git branch हमें check करके बताती है कि अभी हम कौन सी branch पर है, branch को वैसे तो हम detail में पढ़ेंगे, पर branch क्या होती है, जैसे let's suppose एक project है जिसके यह हमारी feature 1 team काम कर रही है, जो front end के features बना रही है, यह हमारी feature 2 team है, जो back end के features बना रही है, और एक हमारी bug fix करने वाली team है, जो कुछ bugs हैं, problems हैं, उनको fix कर रही है, तीन teams एक साथ project के अंदर काम कर रही है, तो हर team क्या करती है, हर team अपनी अलग से copy बनाती है, और उस copy के ऊप इससे feature 1 वाली team अपनी branch निकाल लेगी, feature 2 वाली team अपनी branch निकाल लेगी, bug fix वाली team अपनी branch निकाल लेगी, और जिस point से निकाल लेगी उस point की अपने पास एक copy बन जाएगी, तो यह branch का basic मतलब होता है, वैसे branch को हम detail में पढ़ेंगे, तो जब भी हम चेक करना हम कौन सी branch के तो इसीलिए गिठब ने क्या किया अपनी policies change कर दी, और फिर कुछ सालों से, अब हमारी default branch, गिठब के उपर main branch होती है, जैसे ये क्या है, ये हमारी main branch है, तो हम क्या कर सकते हैं, ये master branch, main branch नहीं है, ये दोनों अलग-अलग branches हैं, अब हमें क्या करना पड़ेगा, एक नई branch main और ये change हम इसलिए कर रहे हैं क्योंकि master का name अब main हो गया है हर जगे, तो हम भी अपना name main change करेंगे, तो किसी भी branch को rename करने के लिए हम लिख सकते हैं, get branch minus m और फिर उसका नया name, तो यहाँ पर नया name main रखने के लिए हम लिख सकते हैं, get branch, अभी जो भी branch है उसका name change कर दो, क्य बट हम साथ के साथ get push origin main के साथ minus you का flag भी use कर सकते हैं, यानि हम लिख सकते हैं get push minus you origin main, अब यह minus you का क्या मतलब है, minus you का मतलब होता है to set upstream, upstream set करने का मतलब है कि अगर हम एकी time पर बहुत लंबे time तक same project के उपर काम करना चाते हैं, कि हम origin main के उपर ही सारे push operations करना चाते हैं, तो next time अगर हमें push करना होगा अपना code same repo के अंदर, तो हम simply get push लिख सकते हैं, तो यहाँ future के लिए short form create कर सकते हैं, तो यहाँ हम लिख देंगे get push minus you origin में, जैसे एंटर किया तो इसका मतलब है कि हमारा code वहाँ पर जाकर push हो गया origin पर, and इसे यहाँ से जाकर हम कर लेते हैं refresh, जैसे refresh करेंगे, यहाँ लिख कर आ गया कि हमारा code push हो चुका है, and हमारा commit आ गया, add initial files, उसके साथ में हमारी files भी हमें दिखाई दे रही हैं, files के अंदर click करेंगे, तो हमारा code हमें दिखाई देना start हो जाएगा, तो यह हमारी CSS files है, back जाएंगे, यह हमारी HTML file हो गई, और back चले जाएंगे, तो इस तरीके से हमने अपने code को push कर दिया, और इस बार हम चाहें तो एक नई file create कर सकते हैं, local repo के अंदर, इसको नाम दे देंगे, readme.md, readme.md के अंदर इस तरीके से हम लिख सकते हैं, hash, this is my local repo, इसको कर लेते हैं, save, अब एक नया change हो गया, clear कर लेते हैं, get status देख लेते हैं, तो ये हमारी नई file है, जो भी untracked है, और इसके लिए commit add कर सकते हैं, minus m, add, readme, enter, and इसके लिए simply इस बार हम लिख देंगे get push, हमें पूरा origin main लिखने की ज़रूरत नहीं है, enter किया, जैसे यह enter किया, refresh करेंगे, तो इस बार हमारी readme.md file हमारे पास available है, जो हमें यहाँ पर दिखाई दे दिये है, यह एक चोटा सा change रह गया कि hash के बाद space आना चाहिए था, clear यह हमने अपने change को यहाँ पर fix कर दिया है, तो यह अच्छे से bold में अब दिखाई दे रहे है, तो इस तरीके से हम अपनी init command and अपनी push command के साथ काम कर रहे होते हैं, पर mostly कोशिश करनी है कि जब भी हम repo बनाएं, जब भी हम नया project बनाएं, उसकी शुरुवात हम GitHub के साथ ही कर उस repo को फिर हम clone कर रहे होंगे जैसे ही clone करेंगे फिर उसके अंदर हम अपने changes करेंगे, जैसे ही हमारे पास कुछ changes आगे, पहले हम उन changes को add करेंगे, फिर हम उन changes को commit करेंगे, और फिर हम उन changes को push करने वाले हैं GitHub के उपर, तो generally ही हमारा workflow रहेगा, हम इसी workflow के साथ काम करेंगे, अब next time बात करने वाले हैं git branches फिर हमने second commit किया, फिर second commit के बाद हमें लगा हमें कुछ feature develop करना चाहिए, तो उसकी हमने एक अलग copy बना लिया एक अलग branch में, और उसके अंदर हमने अपना commit 3 किया, commit 4 किया, commit 5 किया, ऐसे ही साथ के साथ हमें लगा कि हमें साथ के साथ अपना कुछ काम करते चले जाना चाहिए यहाँ से हमारी एक नई branch निकल गई, commit 3 हो गया, commit 4 हो गया, यहाँ से main branch हमारी चलती आ रही है, यहाँ से master कह लेते हैं, यहाँ main कह लेते हैं, इसके अंदर हमारा commit number 5 है, commit number 6 है, अब हम चाहते हैं कि next जो हमारा commit हो, उसमें यह branch यहाँ आके merge हो जाए, तो यहाँ पर हम 7th commit में अब ये branches हम create क्यों करते हैं, हम इसलिए create करते हैं क्योंकि let's suppose कोई एक व्यक्ति है जो एक feature पे काम कर रहे हैं, दूसरा developer है जो दूसरे feature पे काम कर रहे हैं, अब क्या है ये जो original developer था, इसको wait करना चाहिए कि दूसरा developer अपना पहले काम खतम करेगा, तभी मैं नए changes add करूँ� तो ऐसे हर developer को दूसरे developer का काम खतम होने के लिए wait नहीं करना पड़ता तो ये फाइदा होता है हमारे पास branches को use करने का अब branch के लिए हमारे पास काई फी सारी commands होती हैं किसी भी time पर अगर हम check करना चाहते हैं कि हम कौन सी branch पर हैं तो हम कभी भी type कर सकते हैं get branch तो अपनी local repo के अंदर अभी हम अपनी local repo के अंदर हैं हम type कर सकते हैं get branch तो अभी हम main branch पर हैं तो उसके लिए हम लिखते हैं get branch-m और फिर अपना नया नाम तो यहाँ पर main नया नाम है, हम चाहे तो कुछ और नाम भी दे सकते हैं, इसके अलावा अगर हम एक branch से दूसरी branch में जाना चाहते हैं, तो उसके लिए हम लिखते हैं get checkout और अपनी दूसरी branch का नाम, तो checkout मतलब, जैसे हम hotel से checkout करते हैं, वैसे ही यहाँ से हम एक branch से checkout करते हैं, इसे कह देते है feature 1, enter किया, और अब हम लिख सकते हैं get branch, get branch करने से हमारी सारी branches आ गई, main है और feature 1 है, और अब हम कहा पर हैं, जो green में है, यानि feature 1, अब हमें feature 1 से main में जाने हैं, तो हम simply लिख सकते हैं get checkout main, और दुबारा check कर लेंगे, अभी हम main branch में हैं, दुबारा feature में जाना ऐसे ही हम दूसरी branches को create कर सकते हैं, हम लिख सकते हैं get checkout minus b, feature 2 वाली branch, इसको लिख देते हैं feature 2, और check कर लेते हैं get branch, अब हमारे पास 3 branches आगे, अगर हमें किसी point पर किसी भी branch को delete करना होता है, तो उसके लिए हम लिखते हैं get branch minus d, minus d यानि delete उस branch का नाम, let's suppose अगर हमें feature 1 को delete कर enter किया, तो हमारे पास error आ जाएगा, क्यों? क्योंकि अभी हम उसी branch के उपर हैं, अभी तो हम feature 2 के उपर ही हैं, तो पहले हमें किसी और branch के पास जाना पड़ेगा, तो यहां से पहले हम git checkout करेंगे, let's suppose main branch पर आ जाते हैं, और अभी हम कहाँ पर हैं, अभी हम main branch पर हैं, अब हम अब हम क्या करने वाले है, हमारी जो feature 1 वाली branch है, इसके अंदर हम कोई नया feature add करेंगे, तो git checkout कर लेते हैं, git checkout, feature 1, तो git branch करेंगे, तो अभी हम feature 1 पे हैं, feature 1 पे हैं, तो अब हम जितने भी changes करेंगे, वो सिर्फ feature 1 के अंदर ही होंगे, जैसे let's suppose हमारी index.html के अंदर, यहाँ तो अभी हमारा status यह है कि हमारी feature 1 branch के अंदर, यह हमने index.html के अंदर modification किया है, तो इसे हम add कर लेते हैं, और साथ के साथ इस change को हम commit कर सकते हैं, एड न्यू फीचर यह हमारा चेंज हो गया एंटर किया अब हम गिट स्टेटस चेक करेंगे तो अभी ऑन ब्रांच फीचर वन यानि हम अपनी ब्रांच फीचर वन के ऊपर हैं अभी हमारे पास कुछ एक्स्ट्रा चेंज नहीं है कमेंट करने के लिए वर्किंग ट्री क्लीन नया feature गायब हो गया, तो अभी जो हमने changes किये हैं, वो सिर्फ feature 1 के अंदर है, वापस से git checkout feature 1 करेंगे, तो वापस आ गए तो हमारा feature भी वापस आ गया, तो अभी हमारे पास क्या है, जो हमने changes किये हैं, वो changes हमारे feature 1 के अंदर है, और अभी हम कौन सी branch पर हैं, अभी हम feature 1 branch के हम अपनी feature 1 branch के अंदर push करना चाहते हैं, इस बार हम main नहीं लिखेंगे, इस बार हम कह रहे हैं कि हम feature 1 के अंदर अपनी changes को push करना चाहते हैं, enter किया, तो यहां से इस तरीके का message हमारे पास आएगा, और जब हम GitHub के ऊपर जाएंगे, अब GitHub के ऊपर गए तो यह हमें कुछ compare and pull request जैसा कुछ दिखा रहे हैं, पर अपनी branches के अंदर हमें अब दो branches दिखा रहे हैं, एक है हमारी main branch और automatically इसने हमारे लिए feature 1 वाली branch create कर दी, feature 1 और हमारी जो main branch है उसके अंदर भी कोई नया feature नहीं है, तो कोई commit के अंदर नया feature नहीं है, अब अगर हम चाहते हैं कि हम अपनी feature branch और अपनी main branch को merge कर दे, merge करने का क्या मतलब है, कि let's suppose हम अपनी changes किये जा रहे थे, और हमने क्या किया, एक अलग से अपनी branch बना कर उसके अं� merge करने के लिए सबसे पहले दोनों branches में हम differences check कर सकते हैं, दो branches को compare कर सकते हैं, तो जब भी हमें दो commits को compare करना होता है, दो branches को, दो files को compare करना होता है, तो उसके अंदर हमारे पास command होते है, get diff और फिर branch का नाम, जैसे यहाँ पर, अभी हम कौन सी branch पे, यहाँ पर अभी हम feature branch पे, पर अगर हम feature branch को main branch के साथ compare करना चाहते हैं, यह हमें दिखा रहे हैं कि हमारी feature one branch है, वो main branch से आगे है और उसमें ये positive change है, मतलब ये चीज extra add हुई है feature branch के अंदर, तो ये तो आगे differences, अब दोनों branches को merge करने के लिए हम लिख सकते हैं, get merge branch name, ��ो यहाँ पर जैसे हम get merge branch name लिख देंगे, यानि get merge main लिख देंगे, दूसरा तरीका होता है using github, दो branches को merge करने के लिए हम PR create करते हैं, PR is a pull request, पुल रिक्वेस्ट क्या होती है? गिट हब के ऊपर पुल रिक्वेस्ट का मतलब होता है that it lets you tell others about the changes you have pushed to a branch in a repo on GitHub.
यानि जब एक प्रोजेक्ट के ऊपर बहुत सारे लोग काम कर रहे होते हैं और हर कोई चाहते हैं कि अपना code main के साथ merge कर दे. तो actually क्या होता है? अगर हमने अपनी branch के अंदर कुछ change कर लिया और उसे हम अपनी main branch के साथ push करना चाहते हैं, तो main branch को कुछ-कोई senior developer होगा.
जो main branch के ऊपर काम कर रहा होता है और main branch के ऊपर देख रहा होगा या फिर हमारा कोई project manager होगा, product manager होगा तो वो क्या करेंगे, जैसे हम changes create करेंगे, वो पहले हमारी PR को review करेंगे PR को review करने का मतलब होता है, हम क्या changes नए add करना चाहें ये PR अभी accept नहीं हो सकती, ये feature की अब जरूरत नहीं है इस तरीके की कुछ भी reviews होते हैं वो वहाँ पर डाल सकते हैं और उससे साप से जेनरली सीनियर डेवलपर्स का फिर डिसिजन होता है कि उन्हें मर्ज करना है या नहीं करना और अभी हम ही जूनियर डेवलपर है हम ही सीनियर डेवलपर है तो हम क्या कर सकते हैं यहां से अपनी फीचर वन के तो automatically merge हो सकता है, उसके लिए green दिखा दिया GitHub ने, automatically merge होने का मतलब है कि हो सकता है कि main के अंदर, उसी same line के अंदर कुछ और लिखा हो, आपने कुछ और लिख दिया, तो उससे क्या हो सकते है, conflicts आ सकते है, problems आ सकते है, पर अभी तो हमने कहा चेंज किया, अभी तो हमने second line के अं जैसे confirm merge करेंगे एक नया commit add हो जाएगा, किस नाम से commit add होगा, merge pull request, यानि pull request को merge करने का भी अलग से commit होता है, क्योंकि ये भी एक change है, इसका भी screenshot लिया जा रहा है, तो इसे confirm merge कर देते हैं, तो यहाँ आ गया, pull request successfully merged and closed, यानि PR जो थी, जो request थी, pull request, वो closed हो चुकी है, और अब code के अंदर आ जाएंगे, code के अंदर आए, तो main के अंदर भी, मुझे दिखाई दे रहा है, add new feature, तो main और feature 1, दोनों के अंदर, same changes हमें दिखाई देंगे, क्योंकि अब feature 1 के changes, कुछ और नई चीज अगर हम create कर रहे हैं, एक नई pull request create कर सकते हैं, और pull request के अंदर हम बता सकते हैं कि हम क्या नया change लेकर आ रहे हैं इस code के अंदर, अब यहाँ पर आ जाते हैं code के अंदर, और एक बार अपने local system में आते हैं, local system में clear करेंगे, और git checkout कर देते हैं main पर, अभी हम कहाँ पर हैं, अभी हम अपनी main branch के अंदर हैं, पर notice करें तो main branch के अंदर तो वो feature आई ही नहीं, feature कहाँ पर merge हुए, feature तो github के ऊपर merge हुआ, feature 1 main branch के साथ github के ऊपर merge हुई, तो जब भी हमें remote के changes local के अंदर लाने होते हैं, pull command को लिखने के लिए हम लिखते हैं get pull origin main pull command का काम होता है to fetch and download content from a remote repo यानि जो मारी remote repository है गिटअब के उपर वहाँ से सारा content download करती है और अपनी local repo के अंदर लेकर आकर उस content को हम match करने की कोशिश करते हैं तो अपने सारे content को get pull origin main enter किया तो अब सारे changes हमारे पास आ गए, और main के अंदर भी हमें हमारा नया feature जो है, वो दिखाई दे रहा है, अब next हम बात करें वाले है merge conflicts के बारे में, merge conflicts यानि जब भी हम दो और branches को merge करते हैं, और दोनों के अंदर same ई line में, same ई file में changes हो रखे हैं, तो git को समझ नहीं आता कि एक branch क इसको हम कर लेते हैं, safe, तो git add all, and git commit minus m, add button, तो हमने क्या किया, एक button को add कर दिया main के अंदर, अब feature 1 के अंदर वापस से checkout कर देते हैं, git checkout to feature 1, feature 1 के अंदर अभी ये code हमें रिखाई दे रहा है, और हम same जगह, क्या करेंगे, feature 1 के अंदर जाकर, हम button नहीं, हम एक drop down add करने वाले इसको हमने कर लिया safe और इस change को भी हमने अपनी branch के ऊपर, कौन सी branch पर हमने हैं, हम अभी feature 1 branch के ऊपर हैं, तो feature 1 के ऊपर हम इस change को add कर सकते हैं और इस same change को हम commit कर सकते हैं, commit किया तो commit में हम लिख सकते हैं add drop down, तो यह हमने drop down को add कर लिया, अब हमारी main और feature 1 के अंदर अलग अ जिसको हमने delete करके क्या किया, वहाँ पे drop down add कर दिया, तो दोनों branches के अंदर changes हैं, अब दोनों branches के अंदर change कहा हुआ है, दोनों branches के अंदर change same जगह हुआ है, अब हम दोनों branches को merge करेंगे, अब merge करने के हमने दो तरीके सीखे थे, पहला था कि pull request create कर लो, उसको हम already देख चुके जैसे हमने enter किया, वैसे ही क्या किया, वियेस कोड ने हमें कुछ error दिखा दिया, और ये क्या है, इनही को हम कहते हैं, conflicts, merge conflicts, merge conflict हमारा एक event होता है, that takes place when git is unable to automatically resolve differences, यानि एक file के अंदर, जब एक branch ने change किया, और उसी same जगह जब दूसरी branch ने change कर दिया, तो git को समझ नहीं आता कि दोनों में से किस का commit final रखना है, तो git is not able to resolve differences, तो इसी को कहते है resolving merge conflicts, तो हमारे पास merge conflicts बहुत बार आते हैं coding के अंदर, तो उन्हें हमें resolve करना होता है, resolve करने के लिए VS Code क्योंकि एक smart editor है, तो वो हमें काफी सारे options automatically दे देता है, यह में बता रहा है accept current change, current change accept करने का मतलब है, कि अभी जो हमने feature 1 के अंदर लिखा हो था, हमे तो अगर हमें incoming change चेंज चेंज चें� अगर हम इस line को हटा देते हैं तो इसका मतलब है कि हमें सिर्फ drop down वाला feature चाहिए और हम drop down को हटा कर button को रख लेते हैं तो इसका मतलब हमें सिर्फ button वाला feature चाहिए तो हमारी मरजी है हम कितने भी features रख सकते हैं let's suppose हमें दोनो features चाहिए तो इसको कर लेते हैं save, save किया तो status चेक कर लेंगे status में क्या दिखा रहे है status में दिखा रहे है हमारे पास modified file है तो इसे हमें क्या करना पड़ेगा commit करना पड़ेगा इसे पहले add कर देते हैं फिर इसे commit करते हैं minus m आड बोथ features और इस बार हम get status देखेंगे, तो हमारी branch हम feature 1 के उपर है, और कुछ भी नहीं है commit करने के लिए, सारी-सारी चीज़ें up to date है, और get difference देखेंगे, तो अभी get difference with main देखेंगे, तो main के comparison में हमारे पास एक change जादा है, अब हम get checkout main पर जा सकते हैं, feature1, तो अब main के साथ feature1 merge हो गया, merge हो गया तो automatically जो feature1 के अंदर था वो यहाँ आ गया, इस बार हमारे पास merge conflict इसलिए नहीं आया क्योंकि same line के अंदर changes नहीं है, दूसरी file में same line के अंदर same change नहीं था इसलिए git को अभी automatically समझ में आ गया कि क्या change उसे करना है, अब हम चाहें तो इन नई changes को push कर सकते हैं, git push, enter, तो अब यह सारी changes refresh करेंगे add both features, तो इस सारे changes index.html के अंदर, अब हमारे GitHub के उपर भी हमें दिखाई देने, start हो जाएंगे, तो इस तरीके से हम अपने merge conflicts को resolve करते हैं, next हम बात करने वाले हैं about undoing changes, कभी कबार गलती से हम कुछ ऐसा change add कर देते हैं, जिसे हमें add नहीं करना था, सबसे पहले हम stage changes की बात करेंगे, यानि वो changes जो add हो चुके हैं पर commit नहीं हुए, इसे करते हैं clear, अभी हम कौन सी branch के उपर हैं, अभी हम अपनी main branch के उपर हैं, let's suppose main branch के उपर हम गलती से अपना button delete कर देते हैं, इसे हमने delete कर दिया, और इसे हमने add भी कर दिया, अभी हम get status देखें, तो हम add कर चुके हैं, अब बस commit करना है इस change को, पर हमें पता चला, button को तो ह गिट रीसेट और फिर उस फाइल का नाम जिसको हमें रीसेट करना है। अगर हमने एक दो फाइल के अंदर ही चेंजेस किये हैं तो रीसेट करने के लिए हम एक एक फाइल का नाम लिख सकते हैं जैसे यहाँ पर हम लिख सकते हैं गिट रीसेट और फिर हमारी फाइल का नाम changes after reset, अब git status को हम check करेंगे, तो git status में दिखा रहा है कि modified index.html है, पर इन changes को हमने add नहीं किया अभी तो add भी नहीं किया, commit भी नहीं किया, पहले क्या था, add करने के बाद these changes were ready for commit, पर अभी ये changes commit के लिए ready नहीं है, अभी इने पहले हमें stage करना पड़ेगा दूसरी तरीकी की mistake जो हम कर सकते हैं, कि गलती से हमने कुछ change है जिसको commit कर दिया अब जैसे, इसे कर लेते हैं clear, let's suppose हमने गलती से अपना button delete कर दिया इस चीज़ को हमने add भी कर दिया और इस चीज को हमने commit भी कर दिया, minus m, इसे लिख देते हैं, delete button, हमने गलती से अपने button को delete कर दिया, अब status देख लेते हैं, गिट status में क्या है, गिट status में यह दिखा रहा है कि हमारी branch अभी एक commit आगे है, मतलब GitHub के उपर तो button है हमारा, index.html के अंदर, GitHub के उपर हमारा button वाला head tilde 1, यहाँ पर head tilde 1 का क्या मतलब होता है, head tilde 1 का मतलब यह होता है कि जितने भी हमारे पास commits होते हैं, उन commits को हम store करके रखते हैं internally git के अंदर, और इसमें जो हमारा latest commit होता है, जो last change, जिसका हमने screenshot लिया है, इसका नाम by default होता है head, तो यहाँ पर head tilde 1 लिखकर हम कहना चाहते हैं क यह अगर हमारा commit 1 था, commit 2 था, commit 3 था, commit 4 था, हम चाहते हैं हम commit 4 नहीं चाहें, हम वापस commit 3 पे जाना चाहते हैं, तो हम क्या कर रहे हैं, हम basically यहां से अपने head को हटा कर, अपने head को commit 3 के उपर set कर रहे हैं, उससे क्या होगा, get यह वाला latest change भूल जाएगा, और get के लिए यह change, पर इस बार हम get status देखें तो वापस से वो उसी stage में आ गए, यानि add और commit से पहले वाली stage, जब add किया था उससे just पहले वाली stage, हम चाहें तो get log करके अपने सारे commits को check कर सकते हैं, get log किया तो यह सारे commits आ गए, last commit add both features का था, उससे पहला add drop down था, उससे पहला add button था, यहाँ से q करके हम quit कर सकते हैं, तो basically कभी भी जाकर हम अपने commits को check कर सकते हैं, कि कब हमने कौन सा commit किया था, कौन सी branch के अंदर, अब let's suppose हम एक commit की जगह multiple commits पीछे जाना चाहें, अभी तो हमने बात कर ली कि head को हमें एक पीछे लेकर जाना है, पर head को अगर हम दो पीछे या तीन पीछे लेकर जाना चाहें तो, तो multiple commits को undo करने के लिए, हम अपने उस commit का hash note करते हैं, hash क्या होता है, hash basically एक code होता है, हर commit के सा तो हम क्या करते हैं, उस commit का हम hash copy कर लेते हैं, और हम लिखते हैं, get reset और उस commit पे चले जाओ, जिस commit का हम hash copy कर रहे हैं, let's suppose हम वापस से add button वाले commit के पास जाना चाहते हैं, तो यह उसका hash है, इस hash को हम copy कर सकते हैं, और यहाँ पर हम लिख सकते हैं, git reset और hash को copy कर लिया, enter कर दिया, तो अब हम git status देखेंगे, तो git status से क्या हुआ, अब हमारे पास जितनी भी changes हमने उसके बाद extra की हैं, वो सारे की सारे वापस आ गए, और इस बार हम git log करेंगे, तो git log में वो जो add both features या add drop down था, वो सारी commits अब हट चुके हैं, अब हमारे पास जो latest commit आ रहा है, सबसे उपर जो commit आ रहा है, वो commit है add button का, तो हमारा latest commit, हमारा head अब change हो चुका है, यहां से quit करने के लिए दुबारा q press कर देंगे, और इसे हम clear कर सकते हैं, तो किसी भी point पर जाकर अगर हमें अपनी history चेक करनी है commit की, तो हम git log को कर सकते हैं, और git log से हमारे सारे के सारे commits हमें दिखाई देने लग जाएंगे, जो पुराने commits हैं, तो बारा quit करके इसे कर लेते हैं, clear, अब git status करें, तो अभी तो हमें क्या दिखा रहा है, यानि add button के बाद में, जो हमारा latest commit था, तो उन सब को हटाने के लिए जब हम git reset करते हैं, जैसे यहाँ पर हमने git reset किया, तो git reset के साथ हम यहाँ minus minus hard लिख सकते हैं, minus minus hard लिखने से क्या होगा, हमारे VS code के अंदर भी, यानि code के अंदर से भी changes हट जाएंगे, तो git के अंदर से तो हटी जाएंगे, VS code के अंदर से भी हट अब next हम बात करने वाले हैं fork के बारे में, repositories को हम GitHub के उपर fork भी कर सकते हैं, fork करने का मतलब होता है एक नई repository बनाना जिसके अंदर वो same code और सारी same settings हों जो हमारी दूसरी किसी repo के अंदर हैं, तो basically fork क्या होती है, fork हमारी किसी भी project की rough copy होती है, let's suppose हमें किसी दूसरे व्यक्ति तो हम क्या कर सकते हैं, पहले तो उस project को हम GitHub के उपर जाकर search करते हैं, तो यहां से हम search कर सकते हैं, let's suppose हमें express का code चाहिए, express अगर हम search करेंगे, तो यह express.js express की हमें repo मिल जाएगी, यह repo official repo है express.js के अंदर, और इसके अंदर अभी यह सारी लोग contributors हैं, जिन्होंने contribute किया है, अब तो इस project को हम fork कर सकते हैं, fork करने का मतलब अपनी खुद के लिए एक rough copy बना लेना, तो fork करने के लिए हम इस fork वाले option पर जाते हैं और इस पर click करते हैं, और यह क्या करेगा, हमारे account में इस project की, हम चाहें तो same नाम से या किसी और नाम से copy बना सकते हैं, और copy बनाने के लिए हम तो उसके लिए हमें थोड़ा सा wait करना पड़ सकता है, और ये आ गया हमारा project fork होकर, अब अगर हम notice करें, तो express की सारा का सारा code, हमारे github account में भी आ गया है, सारी चीज़े readme वगर है, सब copy होकर आ गया है, पर ये express का account नहीं है, ये हमारा खुद का account है, जैसे readme को अगर हम edit कर दे, तो यहाँ पर हम readme में, सबसे उपर, यहाँ पर आ जाते हैं, let's suppose if I write my name or if I write अपना college तो अगर यहां मैंने अपना college लिख दिया इस change को मैंने commit कर दिया, अब हम इसे कहां commit कर रहे हैं हम इसे master branch के अंदर commit कर रहे हैं अपने account पर, अभी यह दूसरे account के अंदर commit नहीं हो रहा, तो यह क्या हो गया change हमारा नया commit हो गया और यहां हमें दिखा रहे हैं, this branch is one commit ahead of express js master यहां से originally copy किया था उससे अब हम एक commit आगे आगे हैं merge करना चाहते हैं, तो merge करने के लिए हम अपनी pull request create कर सकते हैं तो जब भी हमें merge करना होता है दूसरे codes के साथ तो हम pull request को create करते हैं और pull request create करने के लिए हम new pull request पर जाएंगे और यहाँ पर जाकर हम basically गहरे हैं कि हमारा जो master branch है उसको express js यानि जो base repository थी जहाँ से हमने copy ही था सब कुछ उसके साथ merge कर दो तो merge करने के लिए यहाँ पर हमें दिखा रहा है कि हमने क्या-क्या changes किया है हमने यह एक नया change किया है पर generally pull request को हम इसी तरीके से use करते हैं, जब हम कुछ useful change दूसरे लोगों के code के अंदर कर रहे होते हैं, जैसे उन्होंने कोई गलती कर रखी है code के अंदर, तो उसको हमने fix कर दिया, या फिर कोई नया feature हम उनके code के अंदर, और वैसे जो original owner है, कि नई users pull request create नहीं कर सकते, कि ऐसे लोग फाल्तू changes करके pull request create कर रहे हैं, पर हमें कभी भी unnecessary pull request create नहीं करनी, जब भी हम को useful change करें, तो इस तरीके से हमारा fork काम करता है GitHub के ऊपर, तो यह हमने काफी सारे different different commands, and काफी सारे different different functionalities discuss कर ली हैं, Git and GitHub की, जिनको हम day to day basis पर use करते हैं, जब भी हम अपने projects के साथ, या दूसरे लोगों के projects के साथ काम करते हैं, development process को हम execute कर रहे होते हैं, तो I hope कि Git and GitHub को हम अच्छे से सीख गए होंगे, या फिर अगर आप full stack web development complete सीखना चाहते हैं, तो उसके लिए अपना college पर हमारे पास delta batch available है, जिसको जाकर हम अपना college की website के उपर explore कर सकते हैं, जिसमें 4.5 महीने के अंदर हम complete websites बनाना सीखते हैं, तो आज के लिए इतना ही, मिलते हैं next video में, तो आज बाद keep learning and keep exploring.