छोड़ो जीट कमिट


503

मैं एक git हुक देख रहा हूं जो Python कोड में प्रिंट स्टेटमेंट की तलाश करता है। यदि एक प्रिंट स्टेटमेंट पाया जाता है, तो यह git कमिट को रोकता है।

मैं इस हुक को ओवरराइड करना चाहता हूं और मुझे बताया गया कि ऐसा करने की आज्ञा है। मैं इसे खोजने में सक्षम नहीं हूं। कोई विचार?


1
एक समाधान जो अधिक सामान्य है (git कमांड के लिए भी अलग से काम करता है commit): stackoverflow.com/questions/58337861/…
गेब्रियल डेविलर्स

जवाबों:


866

शायद ( git commitमैन पेज से ):

git commit --no-verify

-n  
--no-verify

यह विकल्प पूर्व-प्रतिबद्ध और प्रतिबद्ध-एमएस हुक को बायपास करता है। Githooks (5) भी देखें ।

जैसा कि ब्लाइस ने टिप्पणी की है , कुछ आदेशों के लिए एक अलग भूमिका हो सकती है। उदाहरण के लिए, वास्तव में एक ड्राई-रन है। केवल हुक को छोड़ देगा।-n
git push -n
git push --no-verify


नोट: Git 2.14.x / 2.15 --सत्यापित व्यवहार में सुधार करता है:

केविन विलफोर्ड (``) द्वारा प्रतिबद्ध 680ee55 (14 अगस्त 2017) देखें । ( जूनियो सी हमानो द्वारा विलय - - in प्रतिबद्ध c3e034f , 23 अगस्त 2017)
gitster

commit: pre-commitहुक न होने पर इंडेक्स को छोड़ना छोड़ें

" git commit" जब मैंने pre-commitहुक को बीच में अपडेट किया है, तो केवल फाइल सिस्टम से इंडेक्स को फिर से पढ़ना और फिर से पढ़ना ; यह पता चला है जब हम जानते हैं कि हम pre-commitहुक नहीं चलाते हैं ।


Davi लीमा बताते टिप्पणी मेंgit cherry-pick है नहीं --no-सत्यापित करें समर्थन करते हैं।
इसलिए यदि चेरी-पिक पूर्व-प्रतिबद्ध हुक को ट्रिगर करता है, तो आप इस ब्लॉग पोस्ट में , किसी भी तरह से टिप्पणी कर सकते हैं / निष्क्रिय कर सकते हैं, ताकि हुक आपके git चेरी-पिक को आगे बढ़ाने के लिए। मर्ज संघर्ष समाधान के बाद एक
ही प्रक्रिया आवश्यक होगी git rebase --continue


1
चेरी-पिक के लिए देखें web-dev.wirt.us/info/git-drupal/git-continue-vs-no-verify
डेवी लीमा

1
@DaviLima धन्यवाद। मैंने आपकी टिप्पणी को दृश्यता के लिए उत्तर में शामिल किया है।
वॉन

1
धन्यवाद, @Vonc उसी के लिए होता है git rebase --continuebtw
Davi लीमा

नमस्ते, मेरे मामले में, मेरी टीम में कोई व्यक्ति hookकुछ पूर्व-प्रतिबद्ध स्क्रिप्ट के साथ मेरे फ़ोल्डर को अपडेट करता रहता है, यह बहुत कष्टप्रद है, क्या कोई ऐसा तरीका है जिससे मैं अपने hookफ़ोल्डर को गिट पुल द्वारा ओवरराइड करने से रोक सकता हूं ?
ज़ेनिचीमारो

@Zennichimaro शायद आप उस रेपो हुक फ़ोल्डर को कहीं और कॉपी कर सकते हैं, और पोस्ट-मर्ज हुक ( git-scm.com/docs/githooks#_post_merge ) सेटअप कर सकते हैं जो यह पता लगाएगा कि क्या पुल रेपो हुक फ़ोल्डर को प्रभावित करता है, और इसकी प्रतिलिपि बनाने का प्रस्ताव करेगा आपके स्थानीय हुक फ़ोल्डर के लिए सामग्री (रेपो के बाहर): इस तरह, आप कम से कम नियंत्रण कर सकते हैं यदि आप अपने हुक को ओवरराइड करना चाहते हैं या नहीं जो आपके सहयोगियों द्वारा धक्का दिया गया है।
वॉन

22

से man githooks:

प्री-कमिट
इस हुक को गिट कमिट द्वारा लागू किया जाता है, और इसे -no- सत्यापित विकल्प के साथ बायपास किया जा सकता है। यह कोई पैरामीटर नहीं लेता है, और प्रस्तावित प्रतिबद्ध लॉग संदेश प्राप्त करने और एक प्रतिबद्ध बनाने से पहले लागू किया जाता है। इस लिपि से गैर-शून्य स्थिति के साथ बाहर निकलने से गिट का गर्भपात हो जाता है।


2

उन लोगों के लिए very beginnersजो इस मुद्दे के साथ ( commentऔर no verify) के लिए कुछ घंटे बिताते हैं और आगे कोई मुद्दा नहीं है

git commit -m "Some comments" --no-verify
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.