आमतौर पर इसका मतलब है कि एक प्रक्रिया अभी भी उस विशिष्ट फ़ाइल का उपयोग कर रही है (अभी भी उस पर एक हैंडल है)
(विंडोज पर, ProcessExplorerउस तरह की प्रक्रिया को ट्रैक करने में अच्छा है)
अपने अन्य कार्यक्रमों को बंद करने का प्रयास करें, और फिर से अपना प्रयास करें git pull।
ध्यान दें कि आपके पास GIT_ASK_YESNOचर के साथ एक विकल्प है ।
अपडेट जनवरी 2019:
Git 2.21 (Q1 2019) के साथ यह और भी अधिक निश्चित होना चाहिए, क्योंकि " git gc" और " git repack" ने खुले पैकेट को बंद नहीं किया था जो उन्हें हटाने से पहले अनावश्यक पाया गया था, जो एक खुली फाइल को हटाने में असमर्थ मंच पर काम नहीं करता था।
इसे सुधारा गया।
देखें प्रतिबद्ध 5bdece0 द्वारा (15 दिसंबर 2018) जोहानिस Schindelin ( dscho) ।
(द्वारा विलय Junio सी Hamano - gitster- में 5104f8f प्रतिबद्ध , 18 जनवरी 2019)
gc/ repack: रिलीज पैक जब जरूरत
विंडोज पर, फ़ाइलों को हटाया नहीं जा सकता है और न ही नाम बदला जा सकता है अगर कोई प्रक्रिया अभी भी संभालती है।
उस उपाय को करने के लिए, हमने close_all_packs()फंक्शन की शुरुआत की ।
इससे पहले, हमने यह सुनिश्चित किया है कि पैक को रिहा करने से ठीक पहले रिलीज़ किया git gcजाता है, ऐसे मामलों में जो gcअब और आवश्यक पैक को निकालना चाहते हैं।
लेकिन यह डेवलपर भूल गया कि विकल्प के gcमाध्यम से सभी पैक्स को समेकित करते समय खुद को भी पैक्स को जाने देना चाहिए --aggressive।
इसी तरह, git repack -dअप्रचलित पैक को हटाना चाहता है और इसलिए सभी पैक हैंडल को भी बंद करने की आवश्यकता है।
अपडेट जनवरी 2016
इसे Git 2.8 (मार्च 2016) में ठीक किया जाना चाहिए (और नीचे Git 2.19, Q3 2018 देखें)
देखें d562102 प्रतिबद्ध , dcacb1b प्रतिबद्ध , df617b5 प्रतिबद्ध , प्रतिबद्ध 0898c96 से (13 जनवरी 2016) जोहानिस Schindelin ( dscho) ।
( जूनियो सी gitsterहमानो द्वारा विलय - - में ३ सी ,० ९ ४० , २६ जनवरी २०१६)
fetch: कचरा एकत्र करने से पहले पैक फाइल जारी करें
ऑटो-gc'ing से पहले, हमें यह सुनिश्चित करने की ज़रूरत है कि पैक फ़ाइलों को रिहा करने और कचरा एकत्र करने की आवश्यकता के मामले में जारी किया जाए।
कई कोडपाथ जो कि पैकफाइल्स को gc --autoबाहर रखने से पहले " " चलते हैं और फाइल डिस्क्रिप्टर को खुला छोड़ देते हैं, जो उन प्रणालियों के अनुकूल नहीं था जो खुली हुई फाइलों को नहीं निकाल सकते।
अब वे ऐसा करने से पहले पैक्स को बंद कर देते हैं।
वह फिक्स git-for-widows500 जारी करता है ।
उस नए दृष्टिकोण को मान्य करने के लिए उपयोग किए जाने वाले परीक्षण को देखते हुए , एक संभावित वर्कअराउंड (चूंकि जीआईटी 2.8 अभी तक बाहर नहीं है) कृत्रिम रूप से उठाना होगा gc.autoPackLimit।
git config gc.autoPackLimit 10000
git fetch
git config gc.autoPackLimit 50 # default value
git 2.8.4 (जून 2016) में 755 मुद्दे का उल्लेख है जो इस मुद्दे को कम करना चाहिए ( 2db0641 पर ):
सुनिश्चित करें कि अस्थायी फ़ाइल हैंडल बच्चे प्रक्रियाओं द्वारा विरासत में नहीं मिले हैं
वास्तव में, ऊपर उल्लेख किया गया git-for-windowsमुद्दा 500 वास्तव में Git 2.19, Q3 2018
के साथ तय किया गया है। देखें " Git - फाइल की अनलिंक .idxऔर .packविफल (इस फाइल का एकमात्र प्रक्रिया स्वामित्व हैंडल है git.exe) "