2010-04-18 7 views
138

मैं अपने जीवन के लिए "[फाइल]: अपडेट अपडेट" संदेश का कोई सभ्य स्पष्टीकरण नहीं ढूंढ सकता हूं, जो कभी-कभी समय-समय पर गिट करता है। यहां तक ​​कि आधिकारिक गिट एफएक्यू ने इसे TODO के रूप में चिह्नित किया है। अगर कोई ए को समझा सकता है) इसका क्या अर्थ है; और बी) इसे कैसे ठीक करें, मैं बहुत आभारी रहूंगा।गिट कहता है कि फ़ाइल "अपडेट की ज़रूरत है" का क्या अर्थ है?

+1

अच्छा सवाल, जैसा कि आपने कहा है कि गिटफ़ैक के पास कोई जवाब नहीं है: https://git.wiki.kernel.org/index.php/GitFaq#.22needs_update.22_and_.22not_uptodate.22 –

+1

आप http देख सकते हैं: //stackoverflow.com/questions/5367734/error-rebaseing-updating-a-git-svn-repository?answertab = सक्रिय # टैब-टॉप –

+0

क्या आप बता सकते हैं कि यह आदेश किस प्रकार उत्पन्न करता है? और गिट का कौन सा संस्करण? मैंने उन्हें यूआई से हटाने की कोशिश की है, इसलिए हाल ही में गिट आपको यह नहीं बताएगा कि उन स्थानों को छोड़कर जिन्हें मैं भूल गया हूं ;-)। –

उत्तर

91

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

+3

यह वास्तव में पुल नहीं है - यह विलय है जो पुल का हिस्सा है। यदि आप एक ही समस्या के साथ स्थानीय शाखा को मर्ज करने का प्रयास करते हैं, तो आपको वही त्रुटि दिखाई देगी, और मुझे लगता है कि अन्य मर्जरी ऑपरेशंस (लागू करें, लागू करें ...) समान त्रुटियों को मुद्रित करें यदि एक ही नहीं है। – Cascabel

+0

आह, अच्छी कॉल। फिक्स्ड –

+0

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

2

लिंक किए गए अन्य प्रश्नों के उत्तर की तरह, संदेश का अर्थ यह है कि आपके पास बकाया है परिवर्तन। आपको यह भी मिलता है उदा। यदि आप git add के साथ कुछ बदलाव करते हैं, तो अपना दिमाग बदल दें और शुरू करने के इरादे से git reset HEAD file करें।

+1

'गीट रीसेट HEAD फ़ाइल' – expert

5

अपने उत्पादन/गंतव्य सर्वर, cd में अपनी एप्लिकेशन वाली निर्देशिका में लॉग इन करें और उन दो आदेशों को निष्पादित करें।

1. नवीनतम संस्करण

चेतावनी पर रीसेट, यह आपके सभी परिवर्तनों को नष्ट करेगा:

git reset --hard HEAD

2. परिवर्तन खींचो

git pull origin master

+0

[गीट रीसेट - हार्ड हेड] दिखाई देने के लिए एक ही संदेश का कारण बनता है। मैंने विंडोज शेयर ड्राइव से किया था, लेकिन मेरी उबंटू निर्देशिका उस प्रतिबद्धता को प्रतिबिंबित नहीं करेगी जो मैंने अभी बनाई थी, भले ही यह वही फ़ोल्डर था (जेड: मैप/var/www/html /)। इसे चलाने के बाद, [गिट स्थिति] और [गिट पुल] दोनों अब यह अद्यतित हैं। –

+0

यह वह समाधान है जो मेरे लिए भी काम करता है। मैंने विंडोज़ पर सोर्सट्री का उपयोग करके गिट सबट्री का उपयोग करने की कोशिश की, और यह प्रक्रिया में बुरी तरह खराब हो गई। –

12

के रूप में अन्य लोगों ने बताया है, जरूरतों को अद्यतन संदेश का अर्थ है कि फ़ाइल दूसरे शब्दों में गंदा है या,, पुरानी। लेकिन रीसेट करने और फिर से शुरू करने के बजाय, क्या किया जा सकता है, बस git status और फिर git add <file>यदि पर सूची बदल दी गई है। क्योंकि आप पहले से ही फाइल जोड़ सकते हैं, लेकिन फिर इसे बदल दिया। यह मेरे साथ हुआ, और इस सरल add के साथ मैंने समस्या हल कर दी है।

0

यह त्रुटि हो सकता है जब रिबेस प्रक्रिया फाइलों में अतिरिक्त परिवर्तन कि लक्ष्य शाखा पर नहीं है।

मेरे लिए मुश्किल भाग .gitattributes फ़ाइल मेरे रेपो में था। नई बाइनरी फ़ाइल प्रकार को दूसरी शाखा में जोड़ा गया था लेकिन इसे संभालने को टेक्स्ट फ़ाइल के रूप में मजबूर किया गया था। जब फ़ाइल को गिट द्वारा रेपो से डाउनलोड किया गया था, तो ईओएल (वास्तव में बाइनरी वैल्यू बाइट्स) को प्रतिस्थापित किया गया - जिसके परिणामस्वरूप बाइनरी अंतर होता है।

नई फ़ाइल प्रकार को बाइनरी के रूप में संभालने के लिए नई प्रविष्टि जोड़ना और पूरी प्रक्रिया को पुनः प्रयास करना मेरे लिए हल समस्या।

संबंधित मुद्दे