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