Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

गिट:फोर्स पुल

यदि कोई सहेजा न गया या ट्रैक न किया गया परिवर्तन मर्ज ऑपरेशन द्वारा अधिलेखित कर दिया जाएगा तो Git आपको आपकी स्थानीय मशीन पर फ़ाइलें खींचने से रोकता है। आप अपने स्थानीय कंप्यूटर पर प्राप्त होने वाले परिवर्तनों को खींचने के लिए गिट को बाध्य करने के लिए बल पुल विधि का उपयोग कर सकते हैं।

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

खींचना क्या है?

Git पुल ऑपरेशन सभी मेटाडेटा और फ़ाइलों को दूरस्थ रिपॉजिटरी से डाउनलोड करता है और पुनर्प्राप्त किए गए डेटा के आधार पर स्थानीय रिपॉजिटरी को अपडेट करता है।

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

पुलिंग तब नहीं हो सकती जब आपके पास ट्रैक न की गई फ़ाइलें हों जिन्हें अधिलेखित कर दिया जाएगा। इसका मतलब है कि आपके पास आपकी स्थानीय शाखा में एक फ़ाइल है जिसे गिट रिपॉजिटरी में नहीं जोड़ा गया है और अगर पुल होता है तो इसे बदल दिया जाएगा।

यदि आपकी स्थानीय मशीन पर सहेजे न गए परिवर्तन हैं जिन्हें पुल द्वारा अधिलेखित कर दिया जाएगा, तो आप रिपोजिटरी को खींचने में असमर्थ हैं।

Git:फोर्स पुल

हम ck-git नामक रिपॉजिटरी पर काम कर रहे हैं, जिसमें एक वेब प्रोजेक्ट के लिए कोड होता है। एक सहयोगी ने अभी-अभी README.md नामक फ़ाइल को अद्यतन किया है। हमने उस फ़ाइल को अपनी मशीन पर अपडेट कर दिया है और अपने परिवर्तनों को रिपॉजिटरी में नहीं डाला है।

आइए देखें कि क्या होता है जब हम अपने परिवर्तनों को खींचने का प्रयास करते हैं:

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।

बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।

git pull

यह आदेश एक त्रुटि देता है:

error: Your local changes to the following files would be overwritten by merge: README.md
Please, commit your changes or stash them before you can merge.

हमारे पास तीन विकल्प हैं। हम अपने परिवर्तन कर सकते हैं, उन्हें छिपा सकते हैं, या Git को वैसे भी परिवर्तनों को खींचने के लिए बाध्य कर सकते हैं। ये हमारी फाइलों को अधिलेखित कर देंगे।

हम गिट को किसी भी बदलाव को लाने और फिर उन परिवर्तनों को दिखाने के लिए हमारे भंडार को रीसेट करके परिवर्तनों को खींचने के लिए मजबूर कर सकते हैं। आइए git fetch कमांड का उपयोग करके परिवर्तन लाकर शुरू करें:

git fetch --all

यह कमांड हमारे रिमोट रिपॉजिटरी में किए गए परिवर्तनों के लिए सभी मेटाडेटा को पुनः प्राप्त करता है। इसके बाद, हम अपनी वर्तमान शाखा का बैकअप लेने जा रहे हैं। हम यह सुनिश्चित करने के लिए ऐसा करते हैं कि एक बार हमारा कोड ओवरराइट हो जाने पर हम अपना काम न खोएं।

हम git branch कमांड का उपयोग करके अपनी शाखा का बैकअप ले सकते हैं:

git branch backup

यह आदेश "बैकअप" नामक एक नई शाखा बनाता है। अब जब हमारे पास हमारी बैकअप शाखा है, तो हम अपने रिमोट रिपोजिटरी की सामग्री को दिखाने के लिए अपने भंडार को रीसेट कर सकते हैं।

हम अपने भंडार को अद्यतन करने के लिए git रीसेट कमांड का उपयोग करने जा रहे हैं:

git reset --hard origin/master

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

मूल/मास्टर स्टेटमेंट उस शाखा को संदर्भित करता है जिसे हम पुनर्प्राप्त कर रहे हैं। हम अपने "मूल" रिमोट रिपोजिटरी से "मास्टर" शाखा की सामग्री डाउनलोड कर रहे हैं।

यदि आप एक ऐसे भंडार के साथ काम कर रहे हैं जिसकी एक अलग शाखा या दूरस्थ नाम है, तो आप इस सूत्र का उपयोग यह मार्गदर्शन करने के लिए कर सकते हैं कि आप रीसेट कमांड का उपयोग कैसे करते हैं:

git reset --hard <remote>/<branch>

git reset कमांड हमारे रिपॉजिटरी को सबसे हाल ही में प्राप्त किए गए कमिट पर रीसेट करता है।

अप्रतिबद्ध परिवर्तन सहेजना

आप git stash कमांड का उपयोग करके किए गए अप्रतिबद्ध परिवर्तनों को सहेज सकते हैं। यह कमांड आपको बाद में अपने कोड को "स्टैश" करने देता है। आइए हमारे कोड का एक स्टैश बनाएं:

git stash

हमारे रिपॉजिटरी में किए गए सभी परिवर्तन स्टैश में सहेजे जाएंगे। जब हम उन परिवर्तनों के साथ फिर से काम करने के लिए तैयार होते हैं, तो हम अपने स्टाॅश को "पॉप" कर सकते हैं:

git stash pop

आप हमारे git stash ट्यूटोरियल में git stash से सेव करने के बारे में अधिक पढ़ सकते हैं।

निष्कर्ष

आप रिमोट रिपोजिटरी से सामग्री खींचने के लिए गिट भंडार को मजबूर कर सकते हैं। ऐसा करने के लिए, आपको रिपॉजिटरी की सामग्री लाने की आवश्यकता है। एक बार जब आप रिपोजिटरी प्राप्त कर लेते हैं, तो आप अपने रिमोट रिपोजिटरी पर शाखा में अपने परिवर्तन रीसेट कर सकते हैं जिसे आप अपने कोडबेस का उपयोग करना चाहते हैं।

अब आपके पास एक समर्थक की तरह Git पुल ऑपरेशन को बाध्य करने के लिए आवश्यक ज्ञान है!


  1. गिटहब पुल अनुरोधों में स्क्रीनशॉट और एनिमेशन कैसे जोड़ें

    गिटहब प्रोग्रामर अक्सर अपने रिपोजिटरी पुल अनुरोधों में स्क्रीनशॉट या एनिमेटेड जीआईएफ जोड़ते हैं। किसी को सादे पाठ की कई पंक्तियाँ पढ़ने के लिए मजबूर करने की तुलना में ये तकनीकें निश्चित रूप से अधिक आकर्षक हैं। यदि आप दृश्य परिवर्तन या फ़ोटोग्राफ़ इनलाइन सम्मिलित करना चाहते हैं तो स्थिर स्क्रीनशॉट जो

  1. Git और GitHub के साथ शुरुआत कैसे करें

    GitHub वर्तमान में ओपन-सोर्स प्रोजेक्ट्स का दुनिया का सबसे बड़ा होस्ट है। कई लोकप्रिय GitHub पेज उदाहरण हैं जिनमें एटम टेक्स्ट एडिटर, Google द्वारा TensorFlow और Facebook द्वारा रिएक्ट शामिल हैं। यह बिग डेटा, आर्टिफिशियल इंटेलिजेंस या इंटरनेट ऑफ थिंग्स पर उन्नत परियोजनाओं के लिए जाना जाता है, लेकिन

  1. कैसे ठीक करें 'घातक:उत्पत्ति एक गिट रिपोजिटरी' त्रुटि प्रतीत नहीं होती है

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