मेरे स्थानीय गिट रिपॉजिटरी में एक फाइल के साथ कुछ गलत हो रहा है। जब मैं शाखा को बदलने की कोशिश कर रहा हूँ तो यह कहता है:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
इसका क्या मतलब हो सकता है?
मेरे स्थानीय गिट रिपॉजिटरी में एक फाइल के साथ कुछ गलत हो रहा है। जब मैं शाखा को बदलने की कोशिश कर रहा हूँ तो यह कहता है:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
इसका क्या मतलब हो सकता है?
जवाबों:
इसका मतलब यह हो सकता है कि एक अन्य प्रोग्राम फ़ाइल का उपयोग कर रहा है, जो कि आप को शाखाओं को बदलने का प्रयास करते समय फ़ाइल को कार्यशील निर्देशिका में "बाहर" जाने से रोक रहा है।
मैंने विंडोज विस्टा पर ऐसा किया है जहां ग्रहण फ़ाइल का उपयोग करने का कार्यक्रम है। फ़ाइल वास्तव में ग्रहण में खुली नहीं हो सकती है, लेकिन ग्रहण द्वारा संचालित एक प्रक्रिया द्वारा खोली जा सकती है।
इस घटना में, फ़ाइल का उपयोग करने वाले किसी भी एप्लिकेशन में बंद करने का प्रयास करें। यदि वह काम नहीं करता है, तो पूरी तरह से किसी भी एप्लिकेशन से बाहर निकलें जो फ़ाइल को खोल सकता है।
GitKraken
तो आप इसे प्राप्त कर सकते हैं यदि आप एक रिबेस जैसा कमांड करते हैं
मेरे पास यह मुद्दा था और इसे कमांड द्वारा हल किया गया था: git gc
उपरोक्त आदेश अस्थायी और अनावश्यक फ़ाइलों को हटा दें। (कचरा इकट्ठा करने वाला।)
git pull
git gc
स्वचालित रूप से शुरू की गई , और gc ने कुछ .PG और .inx फ़ाइलों तक पहुँचने का प्रयास किया। ये "विंडोज़ गिट" प्रक्रिया द्वारा धारण किए गए थे, जो स्वामित्व वाली git pull
कमान थी। git gc
मैन्युअल रूप से चल रहा है और git pull
इस मुद्दे को वास्तव में हल करता है।
git gc
मुझे फिर से वही त्रुटि मिली जब gc
प्रगति में था
यहाँ से इस समाधान ने मेरे लिए काम किया:
यह एक विंडोज विशिष्ट उत्तर है, इसलिए मुझे पता है कि यह आपके लिए प्रासंगिक नहीं है ... मैं भविष्य के खोजकर्ताओं के लाभ के लिए इसे शामिल कर रहा हूं।
मेरे मामले में, यह इसलिए था क्योंकि मैं गैर-एलिवेटेड कमांड लाइन से गिट चला रहा था। "व्यवस्थापक के रूप में चलाएं" मेरे लिए इसे तय किया।
Ctrl+C
अकल्पनीय फ़ाइलों की बहुत लंबी सूची को समाप्त करने के लिए टाइप किया गया; gitbash, मेरी IDE और GitHub विंडोज एप्लिकेशन से बाहर निकले; उन्नत "प्रशासक के रूप में चलाएं" मोड में gitbash को पुनरारंभ करें; और भाग गया git gc --aggressive
। पूरा करने में थोड़ा समय लिया, लेकिन बिना किसी त्रुटि के इसे बनाया।
मैं इस मुद्दे का सामना करते हुए एक git pull
।
मैंने कोशिश की git gc
और इसने मेरी समस्या हल कर दी।
मेरे मामले में कोई फ़ाइल या निर्देशिका को छू प्रक्रियाओं कर रहे हैं। शायद यह तब होता है जब पथ बहुत लंबा होता है, क्योंकि एक ऑपरेटिंग सिस्टम प्रतिबंध (विंडोज़)। वैश्विक गिट कॉन्फ़िगरेशन में लॉन्गपैथ समर्थन ध्वज को सक्षम करने का प्रयास करें जैसा कि नीचे दिखाया गया है:
git config --global core.longpaths true
या हां / कोई उत्तर ध्वज स्थापित करने का प्रयास करें यदि यह आपके लिए संघर्षपूर्ण नहीं है
set GIT_ASK_YESNO=false
यदि रास्ता बहुत लंबा है, तो मुझे एक सफल समाधान नहीं मिला है।
GIT_ASK_YESNO
, इस बारे में जानकारी नहीं मिल सकती है। यह कहां से आता है ?
core.longpaths
अतिरिक्त के साथ: रीसेट -हार्ड prune gc ने मेरे लिए काम किया - लेकिन इसके निर्माण में गड़बड़ी न करने के लिए AndroidStudio को बंद करना पड़ा
मैंने कोशिश की git gc
और इसने मेरी समस्या हल कर दी।
यह किसी के लिए उपयोगी हो सकता है; यदि उपरोक्त सभी आपके लिए काम नहीं करते हैं, तो इन चरणों का पालन करें:
अपनी आईडीई को बंद करें (मेरा ग्रहण था, यह सुनिश्चित नहीं है कि यह इंटेलीज और अन्य पर लागू होता है) या कोई अन्य ऐप जो आईआईटी का उपयोग कर रहा है।
कमांड लाइन से खुला गिट (मेरे मामले में मेरे पास बैश था) और git gc
दूसरों द्वारा बताए अनुसार चलाएं ।
इसने मेरे लिए जादू कर दिया।
जैसा कि मैं gitkraken और कमांड प्रॉम्प्ट का उपयोग कर रहा हूं , मैं उसी मुद्दे में भाग गया। और फिर मैं git gc
कमांड चलाने के लिए यह मेरी समस्या का समाधान किया। इसलिए मैं खुश हूं और कुछ ऐसे बिंदु साझा करना चाहता हूं जो मददगार हो सकते हैं।
क्या git gc
करेगा?
git gc
अगम्य वस्तुओं को हटाने से जो git add के पूर्व चालानों से बनाई गई हो सकती है।
कब चलाना है git gc
?
से डॉक , उपयोगकर्ताओं को एक भंडार के भीतर एक नियमित आधार पर इस कार्य को चलाने के लिए अच्छा डिस्क स्थान उपयोग और अच्छा ऑपरेटिंग प्रदर्शन को बनाए रखने के लिए प्रोत्साहित किया जाता है।
इसे ऑटो-कंफर्टेबल कैसे बनाएं?
कुछ git कमांड स्वचालित रूप से git gc चला सकते हैं; विवरण के लिए नीचे -आटो ध्वज देखें। यदि आप जानते हैं कि आप क्या कर रहे हैं और आप जो चाहते हैं, वह इस व्यवहार को स्थायी रूप से बिना अधिक विचार के अक्षम करना है, तो बस करें
git config --global gc.auto 0
मेरे मामले में (Win8.1, TortoiseGit चल रहा है), यह "TortoiseSVN स्टेटस कैश" नामक प्रक्रिया थी जो फ़ाइल को लॉक कर रही थी।
इसे मारने से मुझे बिना किसी और समस्या के "git gc" चलाने की अनुमति मिली। उपरोक्त प्रक्रिया को टोर्टोइसगिट द्वारा निकाल दिया गया है, इसलिए इसे मैन्युअल रूप से पुनरारंभ करने की कोई आवश्यकता नहीं है।
मेरे पास विंडोज 7 पर इस तरह का मुद्दा था और यह किसी अनाथ git.exe
प्रक्रिया के कारण निकला ।
इसे हल करने के लिए, कार्य प्रबंधक खोलें और सभी git.exe
प्रक्रियाओं को मार डालें ।
चूंकि git
कमांड अल्पकालिक हैं, आपको आमतौर git.exe
पर टास्क मैनेजर में कभी नहीं देखना चाहिए । जब वे वहां होते हैं, तो इसका मतलब आमतौर पर कुछ गलत होता है, और आपको उन प्रक्रियाओं को मारना चाहिए।
विंडोज 8 पर: मैंने git gc चलाया और यह कहा कि git gc पहले से ही चल रहा था, मैंने git gc --force चलाया और कूड़ा उठाने वाला भाग गया।
मैं तब शाखाओं को बदल सकता था और बिना किसी मुद्दे के विलय कर सकता था, git gc --force की कोशिश कर सकता था।
शायद gc प्रक्रिया एक कारण या किसी अन्य के लिए इनायत से नहीं रुकी।
मैं फ़ोल्डर .tmp
में फ़ाइलों के साथ इस समस्या थी /.git/objects/pack
। मुझे लगता है कि एक धक्का या खींचने के दौरान कुछ विफल हो गया था, इसलिए मैंने इन अस्थायी फ़ाइलों को हटा दिया और एचईएडी को अपनी अंतिम प्रतिबद्धता पर रीसेट कर दिया। यकीन नहीं होता अगर यह सलाह दी जाती है लेकिन यह मेरे लिए काम करती है। इसके अलावा git count-objects -v
मुझे की एक सूची दे दी .tmp
गई फ़ाइलों पैक फ़ोल्डर में संबंधित नहीं थे।
या विंडोज़ git open cmd.exe
और रन में y / n संदेशों को दबाने के लिए :
SETX GIT_ASK_YESNO false
यहाँ देखा गया: https://twitter.com/petercamfield/status/494805475733807104
git gc
, फ़ोल्डर git count-objects -v
में बचे हुए अस्थायी ऑब्जेक्ट को पहचानने में मदद करता है pack
।
मैं प्रशासक के रूप में और वहां से
Powershell को खोलकर इसे हल करने में सक्षम थाgit checkout <branch_name>
Pull गिट पुल ’करते समय मुझे उसी मुद्दे का सामना करना पड़ा। मैंने मैनुअल हाउसकीपिंग git कमांड 'git gc' की कोशिश की और इसने मेरी समस्या हल कर दी।
रन कमांड के बाद
git rm -rf foo.bar
मैं त्रुटि देखता हूं
Unlink of file 'foo.bar' failed. Should I try again? (y/n)
क्योंकि एक अन्य प्रोग्राम इस फाइल का उपयोग कर रहा है । उदाहरण के लिए, जब मैं जावा वेब एप्लिकेशन को डिबग मॉडल में चलाता हूं या सर्वर पर वेब एप्लिकेशन चलाता हूं, तो मैं लॉग फाइल को हटा नहीं सकता। एप्लिकेशन को गंभीर रूप से बंद करें (या डिबग प्रक्रिया को बंद करें), पुनः प्रयास करें
git rm -rf foo.bar
मुझे लगता है कि फ़ाइल हटा दी गई है।
उपरोक्त जवाबों में से कोई भी काम करने के लिए नहीं लग रहा git fetch -p
था , दौड़ने के बाद मेरे लिए काम किया।
मैं विंडोज में इस मुद्दे पर भाग गया, आप एक व्यवस्थापक के रूप में गिट बश को चलाना चाहते हैं और फिर इच्छा आज्ञाओं को पूरा कर सकते हैं, जिससे मेरे लिए समस्या हल हो गई।
मैंने इस पृष्ठ पर हर एक टिप की कोशिश की और कुछ भी मदद नहीं की। मैं एक कर रहा था git fetch
और git reset --hard origin/development
मुझे अनकंक त्रुटि दी। मैं नवीनतम प्रतिबद्ध के लिए रीसेट नहीं कर सका।
क्या मदद मिली एक और शाखा की जाँच करने और फिर पिछली शाखा की जाँच करने में। बहुत अजीब है लेकिन इसने समस्या को हल कर दिया।
यदि आप डॉकर का उपयोग कर रहे हैं और विंडोज 10 चला रहे हैं, तो आप उस कंटेनर को रोकना चाहते हैं जहां फ़ाइल चल रही हो। अपने कंटेनरों की स्थिति दिखाने के लिए, दौड़ें
docker ps -a
उन्हें रोकने के लिए, बस चलाएं
docker stop <container name or container id>
मेरे लिए यह काम किया क्योंकि मैं एक .sh फ़ाइल का उपयोग करके अपनी स्थानीय फ़ाइलों को चला रहा हूं
विंडोज पर, git clone
एक (काफी बड़े) रेपो पर इस त्रुटि को देखा । स्मार्टगिट को बंद कर दिया और मेरे बैकअप सॉफ़्टवेयर ( क्रैशप्लान) को रोक दिया, और उसके बाद यह काम किया। यकीन नहीं है कि 2 में से किसने किया है, लेकिन अगर या तो चल रहा है, तो यह आपके लिए भी कर सकता है।
मैं एक ही मुद्दा था जब एक git पुल कर रहा था और जैसा कि ऊपर कहा गया है, यह एक प्रोग्राम के कारण था जो उन फाइलों को पकड़ रहा था और एक git पुल की अनुमति नहीं दे रहा था। कार्यक्रम को बंद करने से मदद मिली। आमतौर पर, आईडीई (जैसे कि ग्रहण) जहां से फाइलों की जांच की जा रही है, पृष्ठभूमि में रखी जाएगी। वही और फिर से चलने वाली गिट पुल को बंद करने से मेरे लिए समस्या हल हो गई।
मेरे पास यह त्रुटि थी और उस ऐप को बंद करना जिसकी फ़ाइल खुली थी, उसे हल कर दिया। मैं वापस जाने और "Y" दबाने में सक्षम था