2015-03-03 9 views
6

पर सुडो की आवश्यकता है मैं अपने काम एमबीपी से अपने घर एमबीपी में वापस चले गए हैं। काम को सूडो की आवश्यकता के बिना गिट कमांड चलाने की अनुमति है। लेकिन मुझे लगता है कि यह मेरी होम मशीन पर एक आवश्यकता है।गिट कमांडों को ओएसएक्स

मैं सूडो के बिना गिट कमांड चलाने में सक्षम होना पसंद करूंगा।

मैंने गिट कमांड को/usr/bin में देखा, और उनमें सभी के पास rwxr-xr-x (755) है, और इसका मूल और समूह चक्र है। मुझे लगता है कि मैं इसे rwxrwxrwx (777) में बदल सकता हूं, लेकिन मुझे आश्चर्य है कि कोई बेहतर तरीका है या नहीं। मैं अपने उपयोगकर्ता को व्हील समूह में जोड़ने की सोच रहा हूं; लेकिन क्या अन्य दुष्प्रभाव होंगे?

+2

यदि आदेशों के पास दुनिया के लिए निष्पादन बिट सेट है (और वे करते हैं), तो आपके समूह को बदलना समाधान नहीं है। –

+0

आप ओएस एक्स पर सूडो के बिना मेरा जवाब @ [गिट "नहीं चला सकते] [http://superuser.com/a/1141913/659669) –

उत्तर

15

git निष्पादन योग्य पर अनुमति ठीक है; ऐसा कोई कारण नहीं है कि आपको इसे बदलने की आवश्यकता हो या अपना समूह बदलना पड़े।

यह अधिक संभावना है कि आपके गिट चेकआउट पर अनुमतियां गलत हैं। यदि आपने sudo git clone ssh://[email protected]/project.git जैसे किसी गलती से इसे चेक आउट किया है, या किसी बिंदु पर आपने रिपॉजिटरी में किसी प्रकार का ऑपरेशन किया है जिसके कारण कुछ फाइल रूट के स्वामित्व में हैं, तो git आपके खाते के अंतर्गत चल रहे हैं, वे उन फ़ाइलों को लिखने में सक्षम नहीं होंगे।

सबसे अधिक संभावना है कि आपको अपनी परियोजना को रूट के बजाय अपने उपयोगकर्ता खाते के स्वामित्व में बनाने के लिए chown -R <user> myproject है।

+3

धन्यवाद ब्रायन। यह .git निर्देशिका (जिसे मैंने गिट इनिट का उपयोग करके बनाया है) को मूल रूप से रूट किया गया है। गाउन को लागू किया गया (जो निश्चित रूप से सूडो की आवश्यकता है) और सूडो के बिना गिट कमांड करने में सक्षम था। (yay) – NotoriousWebmaster

+0

धन्यवाद कि यह था! मैं यह भी जोड़ूंगा कि आप यह जांच सकते हैं कि किसके साथ मालिक है: "ls -al" –

+0

यह मेरे लिए काम करता है .. –

4

आप इस तरह कहा गया हैं:

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

और फिर आप भाग गया:

sudo git init . 

xcode लाइसेंस अद्यतन करने के बाद। बस init और re-init w/o sudo

sudo rm -rf .git 
git init . 

यह मेरी समस्या को ठीक करता है।

+1

मैंने इस समाधान को चुना क्योंकि यह सबसे तेज़ है और परियोजना नई थी, लेकिन शायद आपको कुछ चेतावनी जोड़नी चाहिए जो उपयोगकर्ता इस कमांड को पेस्ट कर सकते हैं उन्हें कॉपी किए बिना वे फाइलों के अपने पुराने संस्करणों को हटा देंगे? – Var87