लिनक्स वातावरण में गिट पुल फाइलों के मालिक को बदल देता है


12

हर बार जब मैं git pullअपने लाइव सर्वर पर निष्पादित करता हूं, तो फ़ाइलों का स्वामी बदल दिया जाएगा? मैं मैन्युअल रूप से कर रहा हूँ a chown john:john index.php

मुझे क्या बदलने की आवश्यकता है ताकि, जब मैं करूं git pull, फ़ाइलों का स्वामी स्वचालित रूप से हो या रह जाए john?


1
क्या johnवर्तमान निर्देशिका का स्वामी है?
user000001

हां, जॉन डायरेक्टरी का मालिक है :)
पिनॉयस्टैकऑवरफ्लावर

1
कौन सा उपयोगकर्ता चला रहा है git pull?
18 अप्रेल को cuonglm

@Gnouc रूट उपयोगकर्ता, मैं SSH के माध्यम से हमारे लाइव सर्वर में रूट यूजर के रूप में लॉग इन किया गया हूं :)
PinoyStackOverflower

जवाबों:


11

जब आप उपयोग करते हैं git pull(जो इसके बराबर है git fetch; git merge), तो गिट बिना मालिक को बदलने के लिए फ़ाइलों को अपडेट करेगा (गिट उस जानकारी को संग्रहीत नहीं करता है)। लेकिन अगर बनाने के लिए नई फाइलें हैं, तो वर्तमान उपयोगकर्ता को स्वामी के रूप में सेट किया जाएगा।

इसे हल करने के लिए अलग-अलग उपाय है। मर्ज / पुल के बाद स्वचालित रूप से कॉल करने के लिए post-updateहुक (आपकी .git/hooksनिर्देशिका में) जोड़ना संभव है ( उदाहरण के लिए एसओ समाधान देखें )।chown john:john . -R

वैकल्पिक समाधान हैं:

  • git pullरूट के बजाय जॉन उपयोगकर्ता के रूप में चलाएं (जो .IT निर्देशिका के लिए जॉन को लिखने की अनुमति की आवश्यकता होगी)।
  • परिनियोजन बनाने के लिए एक हुक बनाएँ, जो या तो उपयोगकर्ता के रूप में जॉन का उपयोग करेगा, या तो अपडेट के बाद चाउन करें (इसलिए आपको नंगे रेपो git pullके post-receiveहुक के अंदर करना होगा )।

क्या होगा यदि आप git fetchरूट के रूप में और फिर git mergeउपयोगकर्ता जॉन के रूप में करते हैं? जॉन को अभी भी .gitनिर्देशिका के लिए लिखने की अनुमति की आवश्यकता होगी ?
वाइल्डकार्ड

हाँ, ज्यादातर बार। git fetchरूट के रूप में, .गित / ऑब्जेक्ट्स में नई फ़ाइलों का स्वामी के रूप में रूट हो सकता है। git mergeजैसा कि उपयोगकर्ता जॉन करेंगे (ज्यादातर समय) कम से कम .git/indexऔर .git/HEADजो (जो मुझे लगता है कि प्रत्येक परिवर्तन पर हटाया / बनाया जा सकता है ) को अधिलेखित करने की कोशिश करते हैं, और कुछ फ़ाइलों को लिखते हैं .git/objects/। + अपने काम निर्देशिका में किसी भी नई फ़ाइलें। शायद उदाहरण के लिए तेजी से आगे विलय के साथ अपवाद हैं।
असनार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.