2016-07-14 5 views
7

गिट हमेशा मुझे प्रतिबद्धता पर हस्ताक्षर करते समय अपनी गुप्त कुंजी अनलॉक करने के लिए पासफ्रेज दर्ज करने के लिए कहता है।प्रतिबद्धता पर हस्ताक्षर करने के दौरान जीएनयूपीजी पासवर्ड मांगने से गिट को रोकें

git commit -S -m 'message' 

मैं कैसे पासवर्ड कैश में स्टोर कर सकते हैं ताकि मैं इसे हर बार प्रवेश करने के लिए साइन इन करते समय प्रतिबद्ध

+2

आप अपना पासवर्ड कैश करने के लिए 'gpg-agent' सेट अप कर सकते हैं और 'max-cache-ttl' विकल्प के साथ' डिफ़ॉल्ट-कैश-टीटीएल' विकल्प को कॉन्फ़िगर कर सकते हैं। – miqid

+0

मैं गिट का उपयोग करके इसे करने का एक तरीका ढूंढ रहा हूं। गिट पासवर्ड कैशिंग की तरह। – pokemon

उत्तर

8

Git GnuPG पदबंध की पकड़ हो जाता है कभी नहीं की जरूरत नहीं है। आपको कैनिंग पासफ्रेज़ की जीएनयूपीजी की क्षमताओं पर भरोसा करना चाहिए, जो gpg-agent के माध्यम से होता है जिसे ~/.gnupg/gpg-agent.conf संपादित करके आसानी से स्थापित किया जाता है (विंडोज़ में आपके AppData फ़ोल्डर में कहीं छिपा हुआ)।

default-cache-ttl सेट करें जीएनयूपीजी के प्रत्येक आमंत्रण के बाद पासफ्रेज कैश किए जाने वाले सेकंड की संख्या के लिए। maximum-cache-ttl पासफ्रेज़ शुरू में शुरू होने के बाद समय निर्धारित करता है जिस पर कैश मिटा दिया जाता है। सुनिश्चित करें कि ignore-cache-for-signing सेट नहीं है - अन्यथा GnuPG हस्ताक्षर संचालन के लिए कैश को अनदेखा कर देगा।

यदि आप किसी भी उपयोगकर्ता इंटरैक्शन के बिना काम करना चाहते हैं, तो आप gpg-preset-passphrase के माध्यम से कैश को प्रीफिल कर सकते हैं, अक्सर /usr/lib/gnupg2/gpg-preset-passphrase जैसे किसी स्थान पर छिपा हुआ; या एक मनमाने ढंग से डिक्रिप्शन या हस्ताक्षर ऑपरेशन चलाकर। आप जैसे gpg पर एक विकल्प का उपयोग करने के लिए गिट को कॉन्फ़िगर भी कर सकते हैं, लेकिन इस दृष्टिकोण के प्रतिबंधों और सुरक्षा निहितार्थों पर पढ़ें (इसमें आपके पासफ्रेज को सादे टेक्स्ट में कहीं भी संग्रहीत किया जा रहा है)।

+0

मेरे पास '~/.gnupg/gpg-agent.conf' नहीं है, इसके बजाय मेरे पास' ~/.gnupg/gpg.conf' है, क्या उसमें 'डिफ़ॉल्ट-कैश-टीटीएल' सेट करना ठीक है? – pokemon

+0

नहीं, ये विकल्प स्पष्ट रूप से 'gpg-agent.conf' के लिए हैं। क्या आपके पास 'gpg-agent' स्थापित है (' gpg-agent' को एक प्रविष्टि सूचीबद्ध करनी चाहिए)? अन्यथा, बस एक नई फाइल बनाएं और इन विकल्पों को सेट करें। –

+0

हाँ, मेरे पास gpg-agent इंस्टॉल है, लेकिन यह काम नहीं कर रहा है, न तो फ़ाइल gpg-agent.conf में, न ही gpg.conf में। वैसे, मैं उबंटू gnome 16.04 का उपयोग कर रहा हूँ, क्या आप वाकई इस विधि पर काम करते हैं। – pokemon

-4

तुम सच में नहीं करना चाहते हैं या हर प्रतिबद्ध हस्ताक्षर करने की आवश्यकता है, तो आप बंद पर हस्ताक्षर करने के लिए डिफ़ॉल्ट रूप से चलाकर स्विच कर सकते हैं:

git config --global commit.gpgsign false 

आप तो एक प्रतिबद्ध प्रस्थान करना चाहते हैं, तो आप का उपयोग कर ऐसा कर सकते हैं -एस ध्वज। इस तरह ..

git commit -S -m your commit message 

बस मेरी जिंदगी को आसान बना दिया!

+0

और क्या आपको लगता है कि यह उत्तर दे सकता है कि ओपी ने क्या पूछा? –

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/whats-reputation) हो जाने पर आप [किसी भी पोस्ट पर टिप्पणी कर सकेंगे] (https://stackoverflow.com/help/privileges/comment); इसके बजाय, [उन उत्तरों को प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-कर-बजाय)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17806364) –

संबंधित मुद्दे

 संबंधित मुद्दे