में umask सेट करना मैंने गिट और गिटोलाइट स्थापित किया है, और किसी बिंदु पर मुझे कॉन्फ़िगरेशन फ़ाइलों में से एक में "उमास्क" सेटिंग दिखाई दे रही है। क्या यह गिट का उपयोग करके सिंक की गई सभी फ़ाइलों के लिए अनुमतियां सेट करता है? यही वही है जो मुझे चाहिए। मैं इसे कहाँ पा सकता हूँ?गिट/गिटोलाइट
उत्तर
umask settings in Gitolite नए बनाए गए रेपो के लिए उमास्क बदलने के लिए हैं (और उन रिपो द्वारा संस्करणों में प्रबंधित फ़ाइलों के बारे में नहीं)।
देखें gitolite.rc doc:
$REPO_UMASK
, अष्टाधारी, डिफ़ॉल्ट 0077डिफ़ॉल्ट
UMASK
कि का उपयोग करता है gitolite सभी रेपोस बनाता है और उनकी सामग्रीrwx------
अनुमति है। जो लोग गिटवेब को चलाने के लिए चाहते हैं उन्हें एहसास है कि यह नहीं करेगा।इस चर को
0027
(सिंटैक्स नोट करें: अग्रणी 0 आवश्यक है) को मानने के लिए सही तरीका है, और उसके बाद उपयोगकर्ता को वेबसर्वर (अपाचे,www-data
, जो भी हो) चलाना है 'गिट' समूह।आप पहले से ही gitolite स्थापित किया है, तो मौजूदा फ़ाइलों को मैन्युअल तय किए जाने की (एक umask या
0027
के लिए, किchmod -R g+rX
होगा) होगा। ऐसा इसलिए है क्योंकिumask
केवल नव निर्मित फ़ाइलों पर अनुमतियों को प्रभावित करता है, मौजूदा नहीं।
यह सेटिंग एक का उपयोग करने के लिए इसी तरह की है जब आप सीधे एक Git रेपो (gitolite के बिना) बनाने के लिए:
core.sharedRepository
जब
group
(याtrue
), भंडार कई उपयोगकर्ताओं के बीच साझा करने योग्य बनाया गया है एक समूह में (सुनिश्चित करना कि सभी फाइलें और ऑब्जेक्ट समूह-लिखने योग्य हैं)।
जबall
(याworld
याeverybody
), भंडार सभी उपयोगकर्ताओं द्वारा पढ़ने योग्य होगा, इसके अतिरिक्तgroup-shareable
होने के साथ।
जबumask
(याfalse
), gitumask
द्वारा रिपोर्ट की गई अनुमतियों का उपयोग करेगा।
और भी देखें "How do I share a Git repository with multiple users on a machine?" और भी देखें।
जब आपके पास अनुमतियों के सापेक्ष प्लेटफार्मों के बीच संघर्ष होता है, तो आपके पास "instruct git to ignore file permissions changes" (git config core.fileMode false
) का विकल्प भी है।
अपडेट: इस उत्तर में गिटोलाइट शामिल है 2. गिटोलाइट 3 के साथ सेटिंग $REPO_UMASK
से $UMASK
पर बदल दी गई है।