में शून्य sha1 के साथ एक प्रविष्टि को कैसे निकालें I पेड़ में एक प्रतिबद्ध प्रविष्टि के लिए एक शून्य शॉ 1 के साथ एक गिट भंडार विरासत में मिला है, जिससे फिशई को भंडार सूचकांक को रोक दिया गया है।गिट पेड़
$ git fsck
Checking object directoriies: 100%(256/256), done.
warning in tree db22a67df70dc4ff90ec4cd666da91e9c2cb0d9:
contains entries pointing to null sha1
Checking objects: 100% (416532/416532), done.
Checking connectivity: 416532, done.
दिया पेड़ के लिए खोज रहे मेरा पीछा परिणाम दे:
$ git ls-tree db22a6
100644 blob e615f18b55a39f2719112ce209c2505dd92d8e75 .gitignore
100644 blob ac852f06c5a04420356c1d5efca44d9a864e78b0 .project
160000 commit 0000000000000000000000000000000000000000 SomeDirectory
100644 blob 631c17e28026261a2ccf6bc570842cf4af9f181c GoDeploy.bat
100644 blob 40e992ab5c3868af2910135c3ac4610c3646e7f8 pom.xml
इतिहास में देखते हुए, मैंने पाया है कि SomeDirectory
शुरू में एक Git submodule था और प्रतिबद्ध है कि उस का कारण बन रहा है मुद्दा वह है जिसने .gitmodules
और SomeDirectory
दोनों को हटा दिया है। अब, एक वास्तविक निर्देशिका है जिसे SomeDirectory
कहा जाता है जहां अपराधी था।
मैं हालांकि मैं अभी भी एक git filter-branch
चलाने को देखने के लिए मैं क्या हो जाएंगे ठीक करने की कोशिश कर सकता है, लेकिन यह काम नहीं करता है: क्या मैं अगले कोशिश करना चाहिए, यह जानकर कोई बैकअप है कि वहाँ
$ git filter-branch --force --index-filter \
$ 'git rm --cached --ignore-unmatch SomeDirectory' \
$ --prune-empty --tag-name-filter cat -- --all
[... striped out for clarity]
Rewrite c571a3ec94e9f84471577bac41ac7375c729ef08 (76/18522)error:
cache enttry has null sha1: SomeDirectory
fatal: unable to write new index file
Could not initialize the index
[... striped out for clarity]
कि मैं इस मुद्दे के कारण प्रतिबद्धता से पहले मुझे पता है।
मैंने इसे एक समान भंडार पर करने की कोशिश की, लेकिन यह काम नहीं किया। 'गिट फ़िल्टर-शाखा' चलाते समय, यह मुझे बताता है कि टूटी हुई कैश प्रविष्टि के कारण इसे निष्पादित नहीं किया जा सकता है। 'गिट रेव-पार्स हेड' से पता चलता है कि जीआईटी ने प्रतिस्थापन ऑपरेशन पर ध्यान नहीं दिया है और अभी भी हेड को अपरिवर्तित टूटी प्रतिबद्धता पर सेट किया गया है। और मैं कामकाजी निर्देशिका में बदलाव खोए बिना एक और शाखा की जांच नहीं कर सकता। –
@ मार्कग्रीन मुझे संदेह है कि वहां कुछ विवरण है जो इस प्रश्न से काफी अलग है कि इसे एक संशोधित या यहां तक कि एक अलग दृष्टिकोण की आवश्यकता है, और यदि ऐसा है, तो यह एक अच्छा नया प्रश्न बना सकता है। यदि आप इसे इस तरह पोस्ट कर सकते हैं (स्वाभाविक रूप से पर्याप्त विवरण के साथ अपने आप उत्तरदायी होने के लिए), तो मुझे एक नज़र डालने में खुशी होगी। – hvd
यह शानदार होगा अगर आदेशों के कुछ स्पष्टीकरण भी होंगे। मैं [इस तरह महसूस करता हूं] (https://xkcd.com/1597/) हर बार जब मुझे गिट समस्या होती है और SO –