पाठ का अंश

उन्नत उपकरण: rebase, stash, cherry-pick और टैग

अब हम उन उपकरणों की ओर बढ़ते हैं जो Git के आत्मविश्वासी उपयोगकर्ता को केवल बुनियादी ज्ञान रखने वाले से अलग करते हैं। हम merge के विकल्प के रूप में rebase पर चर्चा करेंगे — दिखाएँगे कि यह इतिहास को कब साफ़ करता है और कब इसे एक बुरा सपना बना देता है। हम stash को शामिल करेंगे ताकि अधूरे काम को जल्दी से 'टाला' जा सके, cherry-pick को चुनिंदा कमिट स्थानांतरित करने के लिए, और टैग को रिलीज़ को चिह्नित करने के लिए।

git rebase git stash git cherry-pick
इस पाठ में आप क्या सीखेंगे
  • आप git stash का उपयोग करके बिना परिवर्तन खोए कार्यों के बीच संदर्भ बदल पाएंगे।
  • आप rebase और merge के बीच अंतर समझेंगे और संदर्भ के अनुसार सचेत रूप से उनमें से चुन पाएंगे।
  • आप इंटरैक्टिव rebase के साथ कमिट इतिहास को संपादित करना और रिलीज़ संस्करणों को टैग से चिह्नित करना सीखेंगे।

पाठ की शुरुआत

समस्या: अधूरे काम को कैसे टालें

  • अचानक बग फिक्स आपका काम बीच में रोक देता है
  • अधूरे कोड को कमिट नहीं किया जा सकता
  • Git stash – परिवर्तनों का अस्थायी भंडार
  • ट्रैक किए गए और अनट्रैक किए गए फ़ाइलों को सहेजता है
  • वर्किंग डायरेक्ट्री को साफ़ स्थिति में लौटाता है

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

परिवर्तनों को सहेजना और देखना

  • git stash save – परिवर्तनों को भंडार में सहेजता है
  • git stash list – सहेजे गए परिवर्तनों की सूची दिखाता है
  • प्रत्येक stash को एक विशिष्ट ID दी जाती है
  • stash@{0} – अंतिम सहेजा गया परिवर्तन
  • भंडार वर्किंग डायरेक्ट्री की स्थिति सहेजता है

आइए व्यावहारिक रूप से समझें कि git stash के साथ कैसे काम करें। git stash save कमांड वर्किंग डायरेक्ट्री और इंडेक्स किए गए फ़ाइलों में सभी परिवर्तनों को सहेज लेगा, और आपको साफ़ स्थिति में लौटा देगा। आपका काम खोएगा नहीं – यह एक विशेष भंडार में चला जाता है। यह सुनिश्चित करने के लिए कि परिवर्तन सहेज लिए गए हैं, git stash list चलाएँ। आपको stash собака शून्य जैसे विशिष्ट पहचानकर्ताओं के साथ सभी टाले गए कार्यों की सूची दिखाई देगी। यह विशेष रूप से तब सुविधाजनक होता है जब आपको कार्यों के बीच जल्दी से स्विच करना हो, बिना प्रगति खोए।

# वर्तमान परिवर्तन सहेजें
git stash save "WIP: New feature login form"

# सहेजे गए परिवर्तनों की सूची देखें
git stash list

# अंतिम stash की सामग्री देखें
git stash show -p

टाले गए परिवर्तनों को वापस लाना

  • git stash pop – अंतिम stash को लागू करता है और हटाता है
  • git stash apply – बिना हटाए लागू करता है
  • कोड बदलने पर संभावित विरोध
  • विरोधों को मैन्युअल रूप से हल किया जाता है
  • stash@{n} – किसी विशिष्ट सहेजे गए परिवर्तन तक पहुँच

जब टाले गए काम पर वापस लौटने का समय आता है, तो आपके पास दो विकल्प हैं। git stash pop कमांड अंतिम सहेजे गए परिवर्तनों को लागू करेगा और उन्हें stash सूची से हटा देगा। यदि आप केवल परिवर्तन देखना चाहते हैं या उन्हें कई बार लागू करना चाहते हैं, तो git stash apply का उपयोग करें – परिवर्तन भंडार में रहेंगे। यह याद रखना महत्वपूर्ण है: यदि stash सहेजने के बाद से कोड में कुछ बदल गया है, तो विरोध उत्पन्न हो सकते हैं। ऐसे में Git समस्या की सूचना देगा, और आपको विरोधों को मैन्युअल रूप से हल करना होगा।

# अंतिम टाले गए परिवर्तनों को वापस लाएं
git stash pop

# या बिना हटाए लागू करें
git stash apply

# किसी विशिष्ट stash को इंडेक्स के अनुसार लागू करें
git stash apply stash@{1}

पूरा पाठ सदस्यता के साथ उपलब्ध है

पूर्ण संस्करण में 25 और स्लाइड्स हैं।

वीडियो, सभी स्लाइड्स, नोट्स, टेस्ट, AI ट्यूटर और इंटरव्यू लॉगिन करने और सदस्यता लेने के बाद खुलेंगे।

लॉग इन या रजिस्टर करें सदस्यता लें

पाठ की सामग्री सूची

  1. समस्या: अधूरे काम को कैसे टालें
  2. परिवर्तनों को सहेजना और देखना
  3. टाले गए परिवर्तनों को वापस लाना
  4. जब stash नुकसान पहुँचा सकता है
  5. शाखाओं का विलय कैसे काम करता है
  6. Rebase: कमिट इतिहास को फिर से लिखना
  7. कब क्या उपयोग करें: व्यावहारिक परिदृश्य
  8. Rebase के खतरे: क्या गलत हो सकता है
  9. Rebase क्या है और इसकी आवश्यकता क्यों है
  10. Rebase करना: चरण-दर-चरण
  11. Rebase में कॉन्फ्लिक्ट हल करना
  12. इंटरैक्टिव rebase: आपका कमिट इतिहास संपादक
  13. इंटरैक्टिव rebase की मुख्य कमांड्स
  14. अभ्यास: इतिहास को आदर्श बनाना
  15. सावधान: प्रकाशित इतिहास में बदलाव
  16. सामान्य शाखाओं का rebase क्यों नहीं करना चाहिए
  17. असफल rebase से कैसे बचें
  18. सुरक्षित इतिहास सुधार
  19. Git में cherry-pick की आवश्यकता
  20. git cherry-pick का उपयोग कैसे करें
  21. कब चुनें: cherry-pick vs merge vs rebase
  22. Git टैग्स: महत्वपूर्ण कमिट्स के लिए बुकमार्क
  23. एनोटेटेड और लाइटवेट टैग्स बनाना
  24. रिमोट रिपॉजिटरी में टैग प्रकाशित करना
  25. परिदृश्य: विकास के बीच में हॉटफिक्स
  26. Rebase और cherry-pick के माध्यम से बदलावों का एकीकरण
  27. सामान्य गलतियाँ और उनसे कैसे बचें
  28. निष्कर्ष: आपका नया Git मास्टर शस्त्रागार

इस व्याख्यान से जुड़े लेख

इस कोर्स के सभी पाठ

  1. परिचय: शुरुआत से आत्मविश्वासी डेवलपर तक Git
  2. गिट की आवश्यकता क्यों है — और इसके बिना नौकरी क्यों नहीं मिलती
  3. Git की स्थापना और प्रारंभिक सेटअप: पहली बार चलाने की तैयारी
  4. पहला रिपॉजिटरी: git init, git add, git commit और इंडेक्स का जादू
  5. इतिहास पढ़ना: log, diff, show और पिछले बदलावों में नेविगेशन
  6. शाखाएँ: आपके कोड की समानांतर दुनिया
  7. गलतियाँ सुधारना: restore, reset, revert — सही और खतरनाक तरीके
  8. GitHub और दूरस्थ भंडार: आपका कोड क्लाउड में
  9. टीम वर्क: फ़ोर्क, फ़ीचर ब्रांच और पुल रिक्वेस्ट
  10. मर्ज संघर्ष: घबराएं नहीं — समझें और हल करें
  11. वास्तविक टीमों में Git प्रक्रियाएँ: कौन सा वर्कफ़्लो चुनें
  12. उन्नत उपकरण: rebase, stash, cherry-pick और टैग
  13. अंतिम प्रोजेक्ट: वास्तविक टीम डेवलपमेंट का अनुकरण