डिफ़ॉल्ट रूप से, ऐसा लगता है कि गिट रेपो रूट में चलाने पर यह खाली है:

git config core.hooksPath

अगर हम git config core.hooksPath को git config core.hooksPath myhooks में बदलते हैं, तो मेरा सवाल है - हम इसे वापस डिफ़ॉल्ट में कैसे बदल सकते हैं? क्या हमें मूल्य (कैसे?) को अनसेट करना चाहिए, या हमें इसे .git/hooks पर सेट करना चाहिए जैसा कि git config core.hooksPath .git/hooks में है?

11
Alexander Mills 10 मई 2019, 02:30

1 उत्तर

सबसे बढ़िया उत्तर

उत्तर इस बात पर निर्भर करता है कि यह कहां सेट है और आप क्या बदलना चाहते हैं। यदि विकल्प आपके स्थानीय भंडार में सेट है और आप इसे पूर्ववत करना चाहते हैं, तो git config --unset core.hooksPath इसे अनसेट करने के लिए पर्याप्त है, जो गिट को डिफ़ॉल्ट विकल्प चुन देगा।

यदि विकल्प उच्च स्तरीय कॉन्फ़िगरेशन (जैसे, प्रति-उपयोगकर्ता या प्रति-सिस्टम) में सेट है और आप इसे उस स्थान से हटाना नहीं चाहते हैं, तो केवल इस रिपॉजिटरी के लिए इसे ओवरराइड करें, आप git config core.hooksPath .git/hooks का उपयोग कर सकते हैं यदि आप एक गैर-नंगे भंडार में हैं या git config core.hooksPath hooks यदि आप एक नंगे भंडार में हैं।

git-config(1) से:

पथ या तो निरपेक्ष या सापेक्ष हो सकता है। एक सापेक्ष पथ उस निर्देशिका के सापेक्ष लिया जाता है जहां हुक चलाए जाते हैं।

githooks(5) से:

इससे पहले कि गिट एक हुक का आह्वान करता है, यह अपनी कार्यशील निर्देशिका को एक नंगे भंडार में $GIT_DIR या गैर-नंगे भंडार में काम करने वाले पेड़ की जड़ में बदल देता है।

इसलिए एक गैर-नंगे भंडार में .git/hooks और एक नंगे भंडार में hooks की आवश्यकता है।

13
bk2204 10 मई 2019, 00:14