2013-01-02 16 views
19

मैं पूरी तरह से अटक गया हूं कि मेरे गिट ने मुझे पूरी तरह बंद कर दिया है। मेरे पास एक लैपटॉप है जिसका उपयोग मैं काम पर करता हूं और जब मैं घर हूं। दोनों खातों के लिए मैं बड़े पैमाने पर गिट का उपयोग करता हूं और दोनों अलग-अलग पथों में स्थित हैं। आज मैं काम में आया और मैं कुछ नहीं कर सकते, सब मैं देख रहा है:हटाएं .git/index.lock ': अनुमति अस्वीकार

/Applications/MAMP/htdocs/my_site/.git/index.lock': Permission denied 

सब के लिए मैं शाखा मैं पर हटाया जा सकता है कर रहा हूँ परवाह है। मैंने शाखा को हटाने की कोशिश की है, किसी भी अन्य शाखा की जांच कर रहा है, index.lock फ़ाइल को हटा रहा है (जैसा कि साइटों पर अन्य उपयोगकर्ताओं द्वारा सुझाया गया है)। मेरे पास केवल टर्मिनल विंडो खुलती है, गिट का उपयोग करके कोई अन्य संभावित प्रोग्राम नहीं है (जहां तक ​​मुझे पता है और गतिविधि विंडो में कुछ भी ध्यान देने योग्य नहीं है)। मैंने कंप्यूटर को सीधे अपने कार्य खाते में रीबूट कर दिया है और अभी भी कोई भाग्य नहीं है। मैं इस लॉक को कैसे हटा सकता हूं?

+0

'.git' और' .git/index.lock' पर अनुमति मास्क और स्वामित्व क्या है? – cdhowie

उत्तर

11

चेक जो उपयोगकर्ता Git ताला मालिक:

ls -la /Applications/MAMP/htdocs/my_site/.git/index.lock 

तो फिर तुम sudo उपयोग कर सकते हैं इसे हटाने के लिए।

+0

वाह ....... समझ गया, आपकी टिप्पणियों ने मुझे अलग दिखने के लिए धन्यवाद, धन्यवाद :) एक्स-मास छुट्टियों के दौरान मैंने एमएएमपी को घर पर घर (घर खाता) में अपग्रेड कर दिया और जब मैं आज सुबह काम में आया मेरे कार्य खाते में लॉग इन किया, मैंने यह नहीं देखा कि my_site के तहत सबकुछ मेरे घर खाते में बदल दिया गया है जिससे मेरा कार्य खाता किसी भी गिट कमांड के लिए पहुंच योग्य नहीं है। मैंने इसे chown'd और अब यह काम करता है। धन्यवाद। – user1760561

6

एक्सकोड अपडेट करने के बाद आपको शायद नए लाइसेंस से सहमत होने के लिए कहा जा सकता है।

Git init

Xcode/iOS लाइसेंस के लिए सहमत होने की आवश्यकता है व्यवस्थापक विशेषाधिकार, कृपया रूट के रूप में sudo के माध्यम से फिर से चलाने के।

आप इस

sudo Git init

आप एक रूट उपयोगकर्ता मिल जाएगा करते हैं .git dir

drwxr-XR-x 10 जड़ XXXX 340 25 सितंबर 12:40 .git

यदि आप अन्य गिट कमांड को कॉल करते हैं जो फाइलें बनाते हैं, तो इन फ़ाइलों को रूट उपयोगकर्ता के लिए भी बनाया जाता है।

अनुमतियों को बदलें या हटाएं अगर आपको अभी तक इसकी आवश्यकता नहीं है।

=> कभी भी सूडो के साथ गिट को कॉल न करें !!! अपने बस एक खाली निर्देशिका

mkdir foo

सीडी foo

sudo Git init

22

मैं प्रतिबद्ध करने के लिए चाहते हैं ठीक उसी समस्या थी पर Git कॉल करने के लिए कहा जाता है गिट में मेरे परिवर्तन, और इसे हल किया:

  • मुझे अपने .git फ़ोल्डर और इसकी सामग्री के समूह को बदलने की आवश्यकता है:

    सूडो चाउन -आर:।git

  • इस फ़ोल्डर की अनुमति को बदलने के लिए की जरूरत:

    sudo chmod आर 775 .git

+0

यह समाधान घातक के लिए काम करता है: '/Users/Shared/Jenkins/Home/jobs/FMS-UI-Automation/.git/index.lock' बनाने में असमर्थ: अनुमति ने त्रुटि को भी अस्वीकार कर दिया। – vikramvi

1

मैं एक ही मुद्दा जब मेरे रेपो की submodules अपडेट करने का प्रयास सामना कर रहा था:

:
$ git submodule update 
fatal: Unable to create '.../.git/modules/deps/luajit/index.lock': 
    Permission denied 
Unable to checkout '04dc64b558025e76a820f89a8e41840bf8269f32' in 
    submodule path 'deps/luajit' 

ऐसा लगता है समस्या submodules किसी दूसरे उपयोगकर्ता के थे था, तो मैं मेरे लिए स्वामित्व वापस सेट

cd .git/modules/ 
chown -R dpino.dpino * 

इस स्निपेट को लागू करने के मामले में, अपने स्वयं के उपयोगकर्ता और समूहchown -R user.group * उपयोग करने के लिए याद है।

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