में किन परिस्थितियों में हो सकता है git checkout master
तुलना में एक अलग काम कर रहे प्रतिलिपि राज्य में git pull origin master
आदेश परिणाम ->git pull
->git checkout feat-a
->git merge master
?रिमोट परिवर्तनों को देखने में विफल होने के लिए 'गिट पुल' का कारण क्या हो सकता है?
लंबी कहानी।
मेरे पास एक फीचर शाखा है, इसे feat-a
पर कॉल करें। मैं इस शाखा पर काम कर रहा एकमात्र डेवलपर हूं। शाखा master
शाखा से बनाई गई थी। दोनों शाखाओं में रिमोट उत्पत्ति, origin/feat-a
और origin/master
है। कुछ खास नहीं, आपके ठेठ गिट भंडार व्यवस्था।
आज मैं अपनी फीचर शाखा को दूरस्थ master
से अपडेट करना चाहता था। अन्य डेवलपर्स के साथ पहले के संचार से, मुझे पता था कि जब मैं रिमोट master
को अपनी फीचर शाखा में विलय करता हूं तो विवादित परिवर्तन होंगे।
मैं SourceTree का उपयोग कर रहा हूं। इसलिए, feat-a
शाखा की जांच के साथ, मैंने मूल/मास्टर शाखा पर संदर्भ मेनू खोला और Pull origin/master into current branch
चुना। गिट रिपोर्टिंग देखने के लिए मैं चौंक गया कि मेरी शाखा पहले से ही अद्यतित है। मुझे पता था कि यह सही नहीं है, रिमोट master
शाखा में बदलाव होना चाहिए। मैंने कुछ बार आदेश दोहराया। हमेशा एक ही अद्यतित संदेश मिला।
100% सुनिश्चित करने के लिए, मैंने इसे "लंबा रास्ता" किया। मैंने master
शाखा की जांच की, Pull
बटन पर क्लिक किया। शाखा को नवीनतम प्रतिबद्धताओं के साथ अपडेट किया गया। फिर मैंने feat-a
शाखा की जांच की और फिर मास्टर शाखा पर संदर्भ मेनू खींच लिया और Merge master into current branch
उठाया। देखा! यहां विलय संघर्ष था जो मुझे मिलने की उम्मीद थी!
यह मुझे परेशान कर दिया। मैंने माना था कि pull
origin/master
से मेरी वर्तमान शाखा में master
की जांच करना, दूसरी शाखा को देखना, फिर master
को वर्तमान शाखा में विलय करना (अपवाद के साथ जो दूरस्थ master
से दूसरी शाखा में खींच रहा है, मेरे अपडेट को अपडेट नहीं करता है स्थानीय master
, लेकिन इससे इस मुद्दे को प्रभावित नहीं करना चाहिए)।
अनिवार्य रूप से, feat-a
में origin/master
से किसी कारण pull
आदेश के लिए मुझे समझाने की origin/master
पर कोई बदलाव नहीं है, और केवल स्विचिंग शाखाओं और मैनुअल विलय की उम्मीद के रूप में काम के साथ लंबा रास्ता देखते हैं कि कोशिश कर रहा था।
मुझे यकीन नहीं है कि SourceTree कुछ विशेष कर रहा है जो इस मुद्दे को प्रभावित कर सकता है।
मुझे स्थानीय मशीन में गिटूब 'मास्टर शाखा 'से कोड को खींचकर कल भी इस मुद्दे का सामना करना पड़ा, लेकिन यह कहा गया कि आपकी शाखा अद्यतित है, और फिर ऊपर बताए गए चरणों का पालन करें। मैंने सोचा कि यह एक बग होना चाहिए। – sahil
अपनी ट्रैकिंग को सत्यापित करें जो आप सोचते हैं। 'गिट शाखा -वव 'आपको दिखाएगी कि प्रत्येक स्थानीय शाखा के लिए रिमोट शाखाओं को किस प्रकार ट्रैक किया जाता है। आप पाते हैं कि किसी भी तरह 'मास्टर' 'मूल/मास्टर' के अलावा कुछ और ट्रैकिंग कर रहा है। –