2013-03-06 7 views
14

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

इस काम को करने के लिए कई चीजों का प्रयास किया (स्टैक ओवरफ्लो पर इससे संबंधित कुछ पोस्ट हैं, लेकिन वे काम नहीं कर पाए)।

 
[email protected]:/repo/$ git status 
fatal: index file open failed: Permission denied 
fatal: git status --porcelain failed 

अगर मैं एक "Git पुल" कार्य करें::

 
[email protected]:/repo/$ git pull 
remote: Counting objects: 77, done. 
remote: Compressing objects: 100% (30/30), done. 
remote: Total 56 (delta 37), reused 41 (delta 22) 
error: insufficient permission for adding an object to repository database .git/objects 

fatal: failed to write object 
fatal: unpack-objects failed 

मैं स्थानीय अनुमतियों की जाँच की डबल और सब कुछ ठीक हो रहा है

यहाँ मुद्दा है। मुझे सभी फाइलों की अनुमति है।

नोट:

अगर मैं का उपयोग करें "sudo" सब कुछ नियमित रूप में काम करने लगते हैं, लेकिन मुझे लगता है कि तैनाती मशीन पर रूट के लिए किसी भी SSH क्रेडेंशियल नहीं हैं। यह मुझे लगता है कि यह अनुमतियों के साथ एक मुद्दा है (जैसा कि त्रुटि बताता है), हालांकि: यह क्या हो सकता है, अगर मैं सभी फाइलों का मालिक हूं, जिसमें फाइलें शामिल हैं .git/

अग्रिम धन्यवाद!

+0

आप दूरस्थ से फ़ाइलों को कैसे प्राप्त करते हैं? – AdamT

+0

क्या आपने रिमोट को क्लोन किया था? – AdamT

+0

हाँ, मैंने एसएसएच पर रिमोट सर्वर पर एक क्लोन किया – demogar

उत्तर

18

रन git status द्वारा एक ही त्रुटि fatal: index file open failed: Permission denied समझे, और मैं मेरे आश्चर्य

$ ls -al .git/index 

द्वारा .git/index की जाँच की, यह

---------- 1 Kjuly staff 768248 Sep 2 11:07 .git/index 

है मुझे पता नहीं है क्यों & यह कैसे बदल दिया है। वैसे भी, के बाद मैं बदल यह अनुमति वापस 644 को

$ chmod 644 .git/index 

git status कार्यों से है।

4

सुनिश्चित करें कि .git निर्देशिका और इसकी फ़ाइलें/उपनिर्देशिकाएं आपके उपयोगकर्ता द्वारा स्वामित्व और लिखने योग्य हैं। ऐसा लगता है कि भंडार को या तो एक अलग उपयोगकर्ता खाते या रूट उपयोगकर्ता के रूप में क्लोन किया गया था (उदाहरण के लिए sudo के माध्यम से)।

इससे कोई फर्क नहीं पड़ता कि भंडार का रिमोट होस्ट किया गया है, गिट स्थिति केवल स्थानीय भंडार तक पहुंचती है।

0

मुझे आज बिटकबेट के साथ एक ही समस्या का सामना करना पड़ा। यहां मेरे लिए काम करने वाला कामकाज है:

git remote set-url origin https://[email protected]/_my_/_repo_.git 
git pull 
git push 
git remote set-url origin [email protected]:_my_/_repo_.git 
संबंधित मुद्दे