2012-09-30 15 views
14

पर इंगित प्रविष्टियां हैं, मुझे यकीन नहीं है कि मुझे इस गड़बड़ी में कैसे मिला है। लेकिन मैं अपने भंडार को गिटहब में धक्का देने की कोशिश करते समय error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null में दौड़ रहा हूं। पूर्ण धक्का: दबाते समय गिट त्रुटि: ऑब्जेक्ट 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22: शून्य

[[email protected] puppet]$ git push 
Counting objects: 27, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (11/11), done. 
Writing objects: 100% (16/16), 5.67 KiB, done. 
Total 16 (delta 6), reused 14 (delta 4) 
error: object 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22:contains entries pointing to null sha1 
fatal: Error in object 
error: unpack failed: index-pack abnormal exit 
To [email protected]:andyshinn/puppet.git 
! [remote rejected] ganglia -> ganglia (unpacker error) 
! [remote rejected] master -> master (unpacker error) 
error: failed to push some refs to '[email protected]:andyshinn/puppet.git' 
Everything up-to-date

Git ls-पेड़ से पता चलता है कि मेरे sudo मॉड्यूल एक अशक्त SHA1 है:

 
[[email protected] puppet]$ git ls-tree 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22 
... 
160000 commit 2cc9d02b3cf27d6a06d85612c03710aa0d90149c ssh 
160000 commit 6961179007dce76d7fb9bd1fc361273acb4129a7 stdlib 
160000 commit 0000000000000000000000000000000000000000 sudo 
040000 tree 2bd16a8fab440081a876f64d720b5b4d9d119bc9 sysctl 
040000 tree 01439b5a20363dccdf3f7103aab701fa7f4b3cd9 template 
... 

सूचीबद्ध ssh, stdlib, और sudo हैं बाहरी Git रेपोस की submodules। फ़ोल्डर्स sysctl और template रेपो में फ़ोल्डर्स हैं।

मैंने मॉड्यूल को हटाने और इसे फिर से जोड़ने का प्रयास किया है और अब किसी भी प्रतिबद्धता को धक्का नहीं दे रहा है। मैंने कुछ खोज की है और त्रुटि पर थोड़ा सा पाया है। मैं इस त्रुटि को कैसे हल कर सकता हूं?

+0

ऐसा लगता है कि आपका रेपो खराब हो गया है, fsck करने का प्रयास करें या मुझे उम्मीद है कि – CharlesB

+0

से शुरू होने के लिए आपके पास बैकअप या दूसरा क्लोन होगा जब मैं 'git fsck --full' चलाता हूं तो यह कुछ भी वापस नहीं करता है। मुझे लगता है कि fsck करने के लिए कुछ भी नहीं है। –

+0

तो आपको बैकअप की आवश्यकता है ... – CharlesB

उत्तर

7

मैं अंततः इस मुद्दे को हल करने में सक्षम था। यहां मैंने इसे हल करने के लिए किया है:

लेख https://help.github.com/articles/remove-sensitive-data में के लिए शीर्षक है आपके रेपो से फ़ाइल को पुर्ज करें। मैं Rakefile दूर करने के लिए उनके उदाहरण का अनुसरण करते, लेकिन इसके बजाय समस्या पैदा करने वाले फ़ोल्डर का प्रयोग किया:

git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch modules/sudo' --prune-empty --tag-name-filter cat -- --all

के बाद से समस्या पैदा करने वाले पेड़ एक फ़ोल्डर मैं आदेश को -r जोड़ा था। नतीजा सूडो मॉडलों के लिए सभी कामों का एक सफाई था और इस प्रकार, ऑब्जेक्ट 15abe3addde5ad5f7d25e8f0f220d2e9faf3cb22 गायब हो गया! परिवर्तनों के प्रतिबद्ध होने के बाद, पुश सफल रहा। मैं बाद में टूटी हुई मॉड्यूल को बिना किसी समस्या के दोबारा जोड़ सकता था।

0

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

यदि नहीं, तो मैं अभी भी अपने "काम रेपो" क्लोन और कहा कि क्लोन से स्थानीय दूरस्थ आपके द्वारा पहले जोड़े को आगे बढ़ाने की कोशिश करने की कोशिश करेगा।

यदि यह मदद नहीं करता है, तो आपने या तो अपने जीथब रेपो का नाम बदल/बैकअप लिया है और एक नया निर्माण किया है या जिथब समर्थन से संपर्क करना है।

+1

मैं इसे स्वीकार करूंगा क्योंकि इसमें अंततः मुझे क्या करना था, जो कि गिटहब रेपो को मार डाला गया था और इसे फिर से बनाया गया था और फिर उसे धक्का दिया था। यह गिटहब रिमोट पर एक समस्या थी। मैंने गिटहब समर्थन से संपर्क किया लेकिन उनके साथ बहुत दूर नहीं आया। इसे दूर उड़ाने और इसे फिर से बनाने के लिए यह सबसे आसान था। –

+0

मैं इस त्रुटि में फिर से भाग गया और कोशिश की। लेकिन एक ही मुद्दा होता है। सुडो प्रतिबद्धता में एक शून्य sha1 है। मैंने मौजूदा गिटहब रेपो को मार दिया और एक नए रिमोट को धक्का देने की कोशिश की और एक ही समस्या प्राप्त की। स्थानीय रिपो की मरम्मत करना संभव है? –