यहाँ समस्या को हल करने की मेरी रणनीति है।
समस्या का विवरण
हमें 10 से अधिक फ़ाइलों में परिवर्तन करने की आवश्यकता है। हमने कोशिश की PULL (git pull origin master)
, लेकिन गिट चिल्लाया:
त्रुटि: निम्न फ़ाइलों के लिए आपके स्थानीय परिवर्तन मर्ज द्वारा अधिलेखित कर दिए जाएंगे: कृपया, अपने परिवर्तन करें या मर्ज करने से पहले उन्हें रोकें।
हमने निष्पादित करने की कोशिश की commit
और फिरpull
, लेकिन उन्होंने भी काम नहीं किया।
समाधान
हम गंदे में थे वास्तव चरण में थे, क्योंकि फाइलें "स्टेजिंग एरिया" उर्फ "इंडेक्स एरिया" में थीं और कुछ "हेड एरिया" उर्फ "स्थानीय गिट निर्देशिका" में थीं। और हम सर्वर से परिवर्तन खींचना चाहते थे।
एक स्पष्ट तरीके से Git के विभिन्न चरणों के बारे में जानकारी के लिए इस लिंक की जाँच करें: GIT चरण
हमने निम्नलिखित चरणों का पालन किया
git stash
(इससे हमारी कार्यशील निर्देशिका साफ हो गई। आपके परिवर्तन Git द्वारा स्टैक पर संग्रहीत किए गए हैं)।
git pull origin master
(सर्वर से परिवर्तन खींचो)
git stash apply
(स्टैक से सभी परिवर्तनों को लागू किया गया)
git commit -m 'message'
(बदलावों के लिए प्रतिबद्ध)
git push origin master
(सर्वर में परिवर्तन को धक्का दिया)
git stash drop
(स्टैक को छोड़ें)
आइए समझें कि आपको कब और क्यों स्टैशिंग की आवश्यकता है
यदि आप गंदी स्थिति में हैं, तो इसका मतलब है कि आप अपनी फ़ाइलों में बदलाव कर रहे हैं और फिर आप किसी भी कारण से, किसी बहुत जरूरी काम के लिए दूसरी शाखा में खींचने या स्विच करने के लिए मजबूर हैं , इसलिए इस बिंदु पर आप खींच नहीं सकते या तब तक स्विच करें जब तक आप अपना परिवर्तन नहीं करते। stash
आदेश एक मदद के लिए हाथ के रूप में यहाँ है।
प्रोगिट पुस्तक से , द्वितीय संस्करण:
अक्सर, जब आप अपने प्रोजेक्ट के हिस्से पर काम कर रहे होते हैं, तो चीजें गड़बड़ होती हैं और आप कुछ और काम करने के लिए शाखाओं को थोड़ा बदलना चाहते हैं। समस्या यह है कि आप आधे-अधूरे काम करने की इच्छा नहीं रखते हैं ताकि आप बाद में इस बिंदु पर वापस आ सकें। इस मुद्दे का जवाब git stash कमांड है। स्टैशिंग आपकी कार्यशील निर्देशिका की गंदी स्थिति को ले जाता है - अर्थात, आपकी संशोधित ट्रैक की गई फ़ाइलों और परिवर्तनों का मंचन - और इसे अधूरे परिवर्तनों के ढेर पर बचाता है, जिसे आप किसी भी समय पुन: लागू कर सकते हैं।