2013-08-19 5 views
6

मैं अपने अनुप्रयोग फ़ोल्डर से, ऐसा करने में सक्षम हुआ करता था के लिए अपर्याप्त अनुमति मेरे मास्टर रेपो में, जिथब पर।GitHub त्रुटि: ऊपर का समर्थन किया जाएगा</p> <pre><code>git add . git commit -m "commit details" git push </code></pre> <p>और मेरे स्थानीय मशीन पर मेरी ऐप्लिकेशन के नवीनतम संस्करण: भंडार डेटाबेस के लिए एक वस्तु को जोड़ने

अब, जब मैं जहाँ तक सिर्फ git add . आदेश के रूप में मिलता है, मैं:

[email protected]:~/myapp$ git add . 
error: insufficient permission for adding an object to repository database .git/objects 

error: app/views/reviews/update.js.erb: failed to insert into database 
error: unable to index file app/views/reviews/update.js.erb 
fatal: updating files failed 
[email protected]:~/myapp$ 

मैं जिस तरह से एक ऐसी ही समस्या को दूर करने Stackoverflow पर एक संदेश में पढ़ा था के साथ:

chown -R user:user /project/directory 

लेकिन मुझे लगता है कि मुझे में समस्याएं चलकर पहली जगह परेशानी का पूरा भार मिला, मुझे यकीन नहीं था, मैं जानना चाहता हूं कि यह मेरे लिए आदेश है या नहीं। यह क्या करता है? क्या इसे पूर्ववत किया जा सकता है?

यदि उपयोगकर्ता 'क्रिस्टोफ़' है, तो सटीक वाक्यविन्यास क्या होना चाहिए, और वह फ़ोल्डर जहां मेरा रेल ऐप संग्रहीत किया जाता है उसे 'myapp' कहा जाता है। मेरा मतलब है कि यह

chown -R user:christophe /myapp/app/views/reviews/update.js.erb 

सभी प्रश्नों के लिए खेद होना चाहिए।

उत्तर

15
chown [ -f ] [ -h ] [ -R ] Owner [ :Group ] { File ... | Directory ... } 

man page

The chown command changes the owner of the file specified by the File parameter to the user specified by the Owner parameter. The value of the Owner parameter can be a user ID or a login name found in the /etc/passwd file. Optionally, a group can also be specified. The value of the Group parameter can be a group ID or a group name found in the /etc/group file.

आर विकल्प

-R
Descends directories recursively, changing the ownership for each file. When a symbolic link is encountered and the link points to a directory, the ownership of that directory is changed but the directory is not further transversed.

बारे में से तो

chown -R user:christophe /myapp/app/views/reviews/update.js.erb 

यू को update.js.erb फ़ाइल का स्वामी परिवर्तित होगा समूह user समूह christophe में, जो शायद आप नहीं चाहते हैं।

अपने मामले अपने आप से रेपो के मालिक को बदलने में, अर्थात

sudo chown -R christophe /path/to/your/local/repo 

पर्याप्त होना चाहिए।

यदि आप अपने उपयोगकर्ता नाम को नहीं जानते हैं, तो आप इसे whoami कमांड से ढूंढ सकते हैं।

+0

मैं 'chown आर क्रिस्टोफ़/MyApp' करने की कोशिश की दर्ज करें, और भी 'Christophe1' (मेरी GitHub उपयोगकर्ता नाम) लेकिन मैं 'चोटी: अमान्य उपयोगकर्ता' प्राप्त कर रहा हूं: 'क्रिस्टोफ 1' शायद एक बेवकूफ सवाल है, लेकिन मैं कैसे पता लगा सकता हूं कि 'उपयोगकर्ता' क्या होना चाहिए? यह मेरी मशीन है, बाद में, और मेरा नाम क्रिस्टोफ़ है! – CHarris

+0

'व्हामीमी' कमांड –

+0

कूल, अच्छा एक का प्रयोग करें।मैं इसका एक नोट ले जाऊंगा। लेकिन जब मैं 'chown -R christophecompaq myapp' चलाता हूं तो मुझे 'ऑपरेशन की अनुमति नहीं है' संदेश का भार मिलता है। और फिर गिट जोड़ें। मुझे मूल त्रुटि देता है। चोटी के आपके विवरण के लिए धन्यवाद और 'हालांकि आर। – CHarris

11

1) सुनिश्चित करें कि आप भंडार के अंदर हैं जहां आपको त्रुटि मिल रही है।

2)

`whoami` 

3 टाइप करके अपने उपयोगकर्ता नाम प्राप्त करें) इस आदेश

sudo chown -R dwain .git/*

+0

कमाल! मेरे लिए काम किया –

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