संस्करण नियंत्रण के लिए सॉफ्टवेयर के रूप में, Git परिवर्तनों को वापस रोल करने के लिए अनुमानित रूप से आसान बनाता है। लेकिन किसी बदलाव को पूर्ववत करने की अवधारणा भी आपके विचार से कहीं अधिक जटिल है। एक गिट रिपॉजिटरी बिल्कुल वैसी ही नहीं है जैसी फाइलों के सेट पर आप स्थानीय रूप से काम कर रहे हैं। परिवर्तनों को पूर्ववत करने का अर्थ है ठीक उसी जगह पर विचार करना जहां आप उन्हें पूर्ववत करना चाहते हैं।

गिटोचेक आउट, गिट रीसेट, तथा गिटोबहाल वे कमांड हैं जो आपको न केवल आपके कोडबेस के पिछले संस्करण में वापस लाने में मदद कर सकते हैं, बल्कि अलग-अलग फाइलों में भी। इन आदेशों का विवरण प्राप्त करें और आप कुछ ही समय में एक विशेषज्ञ की तरह अपने फ़ाइल इतिहास के आसपास कूद जाएंगे।

फ़ाइल को रीसेट करने का क्या मतलब है, वैसे भी?

यह ध्यान रखना महत्वपूर्ण है कि किसी फ़ाइल को रीसेट करने का अर्थ अलग-अलग परिस्थितियों में अलग-अलग लोगों के लिए अलग-अलग चीजें हो सकती हैं। यह भी गिट रीसेट हो सकता है कि रीसेट करने के अर्थ के लिए कमांड आपकी अपेक्षाओं से मेल न खाए।

कभी-कभी, आप स्थानीय परिवर्तनों को पूर्ववत करना चाहेंगे ताकि फ़ाइल वर्तमान रिपॉजिटरी के साथ सिंक में वापस आ जाए। अन्य अवसरों पर, हो सकता है कि आप उन परिवर्तनों को वापस लेना चाहें जिन्हें आपने पहले से ही रिपॉजिटरी के लिए प्रतिबद्ध किया है।

instagram viewer

अंतर को समझने के लिए निम्नलिखित शब्द महत्वपूर्ण हैं: वर्किंग ट्री, स्टेजिंग एरिया और रिपोजिटरी। आपके द्वारा स्थानीय रूप से संपादित की जाने वाली फ़ाइलें कार्यशील ट्री से संबंधित हैं। आपके द्वारा प्रतिबद्ध फ़ाइलें अंततः रिपॉजिटरी में समाप्त हो जाती हैं। जब आप परिवर्तन एकत्र करने की प्रक्रिया में होते हैं, तो आप फ़ाइलों को मंचित करते हैं। इन स्थानों में से प्रत्येक में एक फ़ाइल में अलग-अलग सामग्री हो सकती है।

यह सभी देखें: उन्नत गिट ट्यूटोरियल

आप किसी फ़ाइल को पूर्ववत परिवर्तन के रूप में रीसेट करने के बारे में सोच सकते हैं। लेकिन आपकी फ़ाइल की स्थिति यह निर्धारित करेगी कि आप वास्तव में किन परिवर्तनों को पूर्ववत कर रहे हैं। स्पष्ट मामला यह है कि जब आप कुछ बदलाव करते हैं, उन्हें प्रतिबद्ध करते हैं, फिर बाद में निर्णय लेते हैं कि आप उन्हें अब और नहीं चाहते हैं।

एक और मामला यह हो सकता है कि आपने एक फ़ाइल का मंचन किया और अब उसे अस्थिर करना चाहते हैं।

मैं पहले से प्रतिबद्ध फ़ाइल को वापस कैसे रोल करूं?

आइए एक ऐसे मामले से निपटते हैं जिसे समझना आसान है: आपने एक फ़ाइल की है और अब आप उसमें किए गए परिवर्तनों को वापस रोल करना चाहते हैं।

ऐसा करने के लिए Git कमांड, कुछ हद तक अनजाने में, नाम दिया गया है चेक आउट. आपने इस्तेमाल किया होगा चेक आउट शाखाओं को स्विच करने से पहले, लेकिन यह कमांड क्या कर सकता है इसका एक छोटा सा हिस्सा है। यह आपको रिपोजिटरी के इतिहास में किसी भी बिंदु पर मिलान करने के लिए अपने कामकाजी पेड़ में फाइलों को अपडेट करने में सक्षम बनाता है। आप इसे किसी विशिष्ट टैग, शाखा, या यहां तक ​​कि किसी विशेष प्रतिबद्धता के लिए भी कर सकते हैं।

इस आदेश का सबसे उपयोगी, सामान्य-उद्देश्य रूप है:

गिट चेकआउट [प्रतिबद्ध आईडी] - पथ/से/फ़ाइल

यहाँ, हम एक विशिष्ट पथ से गुजर रहे हैं (पथ/से/फ़ाइल) जो केवल एक फ़ाइल की पहचान करता है। हम फ़ाइल प्राप्त करने के लिए एक प्रतिबद्ध आईडी भी निर्दिष्ट कर रहे हैं क्योंकि यह उस विशिष्ट प्रतिबद्धता पर मौजूद है। यह कमांड फाइल को हमारे वर्किंग ट्री में ही अपडेट करेगा।

ध्यान दें कि फ़ाइल के पुराने संस्करण की जाँच करने से कार्यशील प्रतिलिपि संशोधित होती है, बिना कमिट किए या यहाँ तक कि इसे मंचित किए बिना। रिपोजिटरी में पूर्ववत को पूरी तरह से पूरा करने के लिए, आपको फ़ाइल को चरणबद्ध करने और एक नई प्रतिबद्धता बनाने की आवश्यकता होगी।

यह सभी देखें: गिट लॉग के साथ किसी प्रोजेक्ट के इतिहास का निरीक्षण कैसे करें

मैं जो मंचन कर रहा हूं उसे मैं कैसे बदलूं?

अन्य प्रकार के पूर्ववत में आपका स्टेजिंग क्षेत्र शामिल है। इसमें वे परिवर्तन शामिल हैं जो आप रिपॉजिटरी के आगे करेंगे। यदि आपने किसी फ़ाइल के संस्करण का मंचन किया है और बाद में निर्णय लेते हैं कि आप इसे अगली प्रतिबद्धता में शामिल नहीं करना चाहते हैं, तो आप इसे पहले अस्थिर करना चाहेंगे।

आप का उपयोग कर सकते हैं गिट रीसेट चरणबद्ध फ़ाइल को अस्थिर करने का आदेश:

git रीसेट HEAD पथ/से/फ़ाइल

क्या मैं स्थानीय परिवर्तनों को शीघ्रता से पूर्ववत कर सकता हूँ?

हां, आप किसी स्थानीय फ़ाइल के मंचन से पहले परिवर्तनों को पूर्ववत कर सकते हैं। निम्न आदेश का प्रयोग करें:

गिट चेकआउट - पथ/से/फ़ाइल

ध्यान दें कि यह एक रिपोजिटरी परिवर्तन को वापस रोल करने के समान है, यह केवल प्रतिबद्ध आईडी को छोड़ देता है। एक बार जब आप इस कमांड को निष्पादित कर लेते हैं, तो Git आपकी वर्किंग कॉपी में किसी भी बदलाव को पूर्ववत कर देगा।

गिट रिस्टोर के बारे में क्या?

गिट के बाद के संस्करणों में एक नया आदेश है: बहाल. जिन साधारण मामलों की हमने यहां चर्चा की है, उनके लिए आप निम्नलिखित समकक्षों का उपयोग कर सकते हैं। भंडार में परिवर्तन पूर्ववत करने के लिए:

गिट पुनर्स्थापना --स्रोत [प्रतिबद्ध आईडी] पथ/से/फ़ाइल

फ़ाइल उपयोग को अस्थिर करने के लिए:

git रिस्टोर --स्टेज्ड पाथ/टू/फाइल

और कार्यशील प्रतिलिपि परिवर्तनों को पूर्ववत करने के लिए:

git रिस्टोर पाथ/टू/फाइल

गिट की संस्करण शक्ति को माहिर करना अमूल्य है

हालाँकि किसी फ़ाइल को रीसेट करना एक सामान्य बात की तरह लग सकता है, आप पाएंगे कि व्यवहार में ऐसा बहुत कम होता है। यह अधिक संभावना है कि आप अलग-अलग फाइलों के बजाय संपूर्ण प्रतिबद्धताओं को वापस ले लेंगे। हालाँकि, ऐसे अवसरों पर जब आपको ऐसा करने की आवश्यकता होती है, Git कम से कम इसे काफी सरल बनाता है।

Git में कमिट से फाइल कैसे निकालें

किसी फ़ाइल को कमिट से हटाने जैसे संचालन करने के लिए इन Git कमांड का उपयोग करें।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • GitHub
  • वेब विकास
  • प्रोग्रामिंग
लेखक के बारे में
बॉबी जैक (63 लेख प्रकाशित)

बॉबी एक प्रौद्योगिकी उत्साही हैं जिन्होंने दो दशकों तक एक सॉफ्टवेयर डेवलपर के रूप में काम किया। उन्हें गेमिंग का शौक है, स्विच प्लेयर मैगज़ीन में एडिटर-इन-चीफ के रूप में काम करते हुए, और ऑनलाइन प्रकाशन और वेब विकास के सभी पहलुओं में डूबे हुए हैं।

बॉबी जैक की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें