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