आपको यह समझने की आवश्यकता है कि एक जीआईटी रिपॉजिटरी केवल निर्देशिकाओं और फाइलों का एक पेड़ नहीं है, बल्कि उन पेड़ों के इतिहास को भी संग्रहीत करता है - जिनमें शाखाएं और मर्ज हो सकते हैं।
जब एक भंडार से लाते हैं, तो आप सभी या कुछ शाखाओं को अपने भंडार में कॉपी करेंगे। ये तब आपकी रिपॉजिटरी में "रिमोट ट्रैकिंग ब्रांच" के रूप में होते हैं, उदाहरण के लिए जैसे remotes/origin/master
या जैसे शाखाएं ।
दूरस्थ रिपॉजिटरी से नए आने से आपके स्थानीय कामकाजी कॉपी के बारे में कुछ भी नहीं बदलेगा।
आपकी वर्किंग कॉपी में आम तौर पर एक कमिटेड चेक आउट होता है, जिसे कॉल किया जाता है HEAD
। यह प्रतिबद्धता आमतौर पर आपकी स्थानीय शाखाओं में से एक की नोक है।
मुझे लगता है कि आप अपनी स्थानीय शाखा (या शायद सभी स्थानीय शाखाओं?) को संबंधित दूरस्थ शाखा में अद्यतन करना चाहते हैं, और फिर नवीनतम शाखा देखें।
अपनी कार्य प्रतिलिपि (जिसमें स्थानीय परिवर्तन हो सकते हैं) के साथ किसी भी टकराव से बचने के लिए, आप पहले सब कुछ साफ़ करते हैं जो कि संस्करण (उपयोग नहीं git clean
) है। फिर आप जिस दूरस्थ शाखा को अद्यतन करना चाहते हैं, उसके अनुरूप स्थानीय शाखा की जाँच करें और उसे दूरस्थ दूरस्थ शाखा में git reset
बदलने के लिए उपयोग करें। ( git pull
आपके स्थानीय एक में दूरस्थ शाखा के सभी अपडेट शामिल होंगे, जो ऐसा ही कर सकते हैं, या स्थानीय कमिट होने पर मर्ज कमिट बना सकते हैं।)
(लेकिन तब आप वास्तव में किसी भी स्थानीय परिवर्तन को खो देंगे - दोनों काम की प्रतिलिपि और स्थानीय कमिट में। सुनिश्चित करें कि आप वास्तव में यह चाहते हैं - अन्यथा बेहतर है कि एक नई शाखा का उपयोग करें, यह आपके स्थानीय कमिट को बचाता है। और उन git stash
परिवर्तनों को बचाने के लिए उपयोग करें जो अभी तक प्रतिबद्ध नहीं हैं। ।)
संपादित करें:
यदि आपके पास केवल एक स्थानीय शाखा है और एक दूरस्थ शाखा को ट्रैक कर रहे हैं, तो आपको केवल इतना करना है
git pull
काम कर रहे निर्देशिका के अंदर से।
यह सभी ट्रैक की गई दूरस्थ शाखाओं के वर्तमान संस्करण को लाएगा और वर्तमान शाखा (और वर्किंग डायरेक्टरी) को ट्रैक कर रहे रिमोट ब्रांच के वर्तमान संस्करण को अपडेट करेगा।