2012-12-31 16 views
7

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

$ git push origin android-lite 
Counting objects: 111, done. 
Compressing objects: 100% (98/98), done. 
Writing objects: 100% (109/109), 29.63 KiB, done. 
Total 109 (delta 40), reused 0 (delta 0) 
error: unable to resolve reference refs/heads/android-lite: No such file or directory 
remote: error: failed to lock refs/heads/android-lite 
To /media/2AC0-E4E2/devel/src/java/bbct/ 
! [remote rejected] android-lite -> android-lite (failed to lock) 
error: failed to push some refs to '/media/2AC0-E4E2/devel/src/java/bbct/' 
$ 

, इस का कहना है कि refs/सिर/एंड्रॉयड-लाइट मूल में मौजूद नहीं है। हालांकि, मैं उलझन में हूं कि क्यों गिट एक नई शाखा नहीं बनाती है। क्या मेरे स्थानीय रेपो में कुछ ऐसा है जो इंगित करता है कि एंड्रॉइड-लाइट शाखा पहले से ही मौजूद है?

+4

आप अपने रेपो को 'गीट जीसी' और' गीट रिमोट प्रून 'के साथ साफ कर सकते हैं। – madhead

उत्तर

2

तो दूरस्थ रेपो डिबगिंग बहुत जटिल है (this question के रूप में, git gc साथ, git prune, git fsck, ...)), आप अभी भी कर सकते हैं:

  • git bundle अपने वर्तमान रेपो, कि आप केवल दे देंगे एक फाइल,
  • नकल है कि उस बंडल फ़ाइल
  • कि नया पथ के लिए अपने वर्तमान दूरस्थ पता सेट से
  • Git क्लोन दूरस्थ ड्राइव पर एक फ़ाइल

यह थोड़ा सा "How to synchronize two git repositories" जैसा है, और इस कार्य के लिए एक बंडल का उपयोग करना यह सुनिश्चित करना है कि आपके पास कोई फ़ाइल त्रुटि प्रति नहीं है।

+0

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

+0

@ कोड-गुरु मैंने इस प्रश्न से जुड़ा हुआ है जो उस आदेश को बताता है जिसे आप डीबग करने का प्रयास कर सकते हैं। मेरे सुझाव के बारे में, मैं एक स्वच्छ रेपो शुरू करने के लिए अभी भी एक बंडल का उपयोग करता हूं। या आप सीधे अपने अंगूठे ड्राइव पर अपने स्थानीय रेपो क्लोन कर सकते हैं। – VonC

संबंधित मुद्दे