अनुक्रमणिका फ़ाइल अपेक्षा से छोटी है


81

आज सुबह से, मुझे यह त्रुटि मिलनी शुरू हुई:

घातक: सूचकांक फ़ाइल अपेक्षा से छोटी

घातक: गिट स्थिति - चीनी मिट्टी की चीज़ें विफल

क्या हो रहा है और इसे कैसे हल किया जाए इसका कोई भी विचार?


क्या आपने यह लंबित
Gal Bracha

हां मैंने पोस्ट करने से पहले इसकी कोशिश की। समस्या मेरे सबमॉड्यूल्स के साथ थी जो मेरी इंडेक्स फ़ाइल को दूषित करती रही (पता नहीं क्यों)।
karellm

@karellm क्या आपको पता चला कि ऐसा क्यों हो रहा था?
crmpicco

ईमानदार होने के लिए मैंने इसकी जांच नहीं की कि इसका क्या कारण है और यह भी हो रहा है।
karellm

युक्ति: मेरे अनुभव में, यह एनएफएस फ़ोल्डर को अपडेट नहीं करने के कारण हो सकता है। यदि आपका रेपो एनएफएस पर है, तो समस्या को ठीक करने का प्रयास करने से पहले कुछ मिनट प्रतीक्षा करें। एक मशीन से खींचने के बाद मेरे पास यह था, और फिर दूसरे पर स्थिति की जांच करना, दोनों मशीनें समान एनएफएस बढ़ते हुए।
ggll

जवाबों:


107

इंडेक्स फ़ाइल दूषित हो गई है, लेकिन यह आसानी से फिर से बनायी जा सकती है। बस इसे हटा दें ...

rm .git/index

तब आप उन फ़ाइलों को फिर से जोड़ सकते हैं जिन्हें आप मंच पर लाने की कोशिश कर रहे हैं।


जैसा कि ऊपर कहा गया है, यह एक सबमॉड्यूल के साथ संघर्ष के कारण काम नहीं कर रहा था जो बार-बार मेरे सूचकांक को दूषित कर रहा था ... मैंने सबमॉड्यूल को हटा दिया, सूचकांक को हटा दिया और सभी को जोड़ दिया। यह आखिरकार काम कर गया। धन्यवाद!
karellm

3
क्यों होता है ऐसा? मैंने पिछले पखवाड़े में दो बार ऐसा किया है और मैं इसका कोई कारण नहीं देख सकता।
क्रैम्पिकको

7
इसने मेरे लिए काम नहीं किया। इस त्रुटि से पहले मेरे पास ज्यादातर साफ-सुथरी कामकाजी प्रति थी। इंडेक्स फाइल को हटाने और चलाने के बाद git add .ऐसा व्यवहार किया गया जैसे कि हर एक फाइल नई थी और उसे कमिटमेंट की जरूरत थी।
मार्क

1
जब कोई सबमॉड्यूल करता है तो वह काम नहीं करता है। बस रीसेट करें (उत्तर के नीचे)।
टिमजमैन

अगर पाया गया कि इसे चलाने के बाद मुझे एक काम करना था git restore --stagedऔर यह git सोच की समस्या को ठीक करने की जरूरत है, तो हर चीज की सिफारिश की जानी चाहिए
ViperSniper0501

90

यदि आप स्थानीय परिवर्तन रखना चाहते हैं, तो निम्नलिखित का उपयोग करें:

$ rm .git/index
$ git reset HEAD .

> Unstaged changes after reset:
  modified foo.txt
  modified bar.txt

1
किसी भी विचार क्यों ऐसा होता है? यह मेरे साथ पिछले एक पखवाड़े में 4-5 बार हुआ है।
क्रैम्पिको

1
यह उत्तर यहां सबसे अच्छा है। इसके अतिरिक्त, यदि आप गिट सबमॉड्यूल का उपयोग करते हैं तो सिर: उन अनुक्रमणिका फ़ाइलों को भी हटा दें (वे स्थित हैं .git/modules/src)। इससे मुझे आश्चर्य हुआ था कि मुख्य (मुख्य) इंडेक्स फ़ाइल को हटाने के बाद भी त्रुटि क्यों हुई।
ग्राफ्टक सिप

मुझे लगता है कि यह मानक कारणों से हो सकता है, प्रक्रिया मध्य मार्ग से बाहर हो गई, डिस्क स्थान से बाहर हो गई, आदि। हालांकि मेरे मामले में यह हो सकता है कि मैं svn बाह्य उपकरणों के स्थान पर निर्माण के लिए निर्देशिका बनाने के लिए गिट फ़ोल्डर के लिए एक सिमलिंक का उपयोग करूं। , हालांकि यह अजीब है क्योंकि रिपोज पर एकमात्र ऑपरेशन बिल्ड फ़ोल्डर्स को हार्ड रीसेट करने के लिए ही पढ़ा जाता है।
jgmjgm

2

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

  1. अपनी फ़ाइलों का बैकअप बनाएं, मुझे जो कहना चाहिए, वह है हूं वह काम लेकिन इसे केवल मामले में करें।
  2. .Git फ़ोल्डर निकालें
  3. अपने रिपॉजिटरी को क्लोन करें (जहां कोई फर्क नहीं पड़ता) मैंने इसे वर्तमान निर्देशिका में किया था
  4. अपने मौजूदा निर्देशिका में क्लोन .git निर्देशिका से बनाई गई प्रतिलिपि बनाएँ
  5. क्लोन निर्देशिका को हटा दें। 6. वैकल्पिक, यदि आपने एक शाखा चेकआउट का फिर से उपयोग किया है
  6. Git स्टेटस को अब परिवर्तनों को ट्रैक करना चाहिए क्योंकि यह माना जाता है और आपके सभी git कमांड को काम करना चाहिए

मेरे मामले को ऊपर वर्णित किया गया था, गिट ने अपने संदर्भों को गड़बड़ कर दिया Git logथा ... दिखा रहा था "आपकी शाखा टूट गई है" और git fsckमुझे बुरे संदर्भों के बारे में चेतावनी दे रही थी। अगर मैं शायद इसे ठीक कर सकता हूं, तो यह पता लगाऊंगा कि मैं इसे करने में बहुत समय लगाऊंगा, इसलिए मैं बदसूरत काम के लिए चला गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.