क्या यह एक अच्छा विचार है कि GPG पर हस्ताक्षर करना पुरानी हिट है?


9

मुझे बस एहसास हुआ कि मैं अपनी GPG कुंजी का उपयोग करने के लिए गिट को बताना भूल गया। मैंने उन्हें साइन किए बिना कई कमिट किए थे। क्या मुझे वापस जाकर उन पर हस्ताक्षर करना चाहिए?

मैं इस बात का जिक्र नहीं कर रहा हूं कि मुझे टैग पर हस्ताक्षर करने चाहिए या नहीं, लेकिन मैंने साइन करने का फैसला खुद किया है। मुझे विश्वास नहीं है कि मैं किसी भी कारण के बारे में नहीं सोच सकता, भ्रष्ट इतिहास के अलावा, जो मैंने लिखा हो सकता है या नहीं हो सकता है। मुझे विश्वास है कि GitHub को मेरे git के इतिहास के साथ खिलवाड़ नहीं करना चाहिए और मैं अपनी लगभग 99% परियोजनाओं का एकमात्र लेखक हूं, इसलिए मुझे ऐसा करना चाहिए?

मुझे यह उत्तर मिला , इसलिए मुझे पता है कि यह संभव है, लेकिन दार्शनिक रूप से बोलना चाहिए, क्या मुझे?

जवाबों:


12

यदि कमिट पहले ही प्रकाशित हो चुके हैं, तो आपको उन्हें किसी भी उद्देश्य (आकस्मिक डेटा लीक को छोड़कर) के लिए फिर से लिखना नहीं चाहिए , क्योंकि इससे उनकी कमिट आईडी बदल जाएगी। (याद रखें कि प्रत्येक कमिट की आईडी SHA-1 हैश की सामग्री और उसके माता-पिता की प्रतिबद्धता पर आधारित है।)

इसका मतलब यह है कि इसके बाद के सभी कमिटों को फिर से लिखना (और इस्तीफा देना) होगा, और उन लोगों के लिए मुसीबतें खड़ी हो जाएँगी जो पहले से ही उन कमिटों में से किसी एक को ले आए थे।

लेकिन उसी कारण से, आपको उन पुराने कमिट्स को स्पष्ट रूप से साइन करने की आवश्यकता नहीं है , कम से कम डेटा अखंडता प्रयोजनों के लिए नहीं। चूंकि प्रत्येक कमेटी में अपने माता-पिता की SHA-1-आधारित आईडी होती है, इसलिए किसी भी एक कमेटी की पुष्टि करना भी हैश चेन के माध्यम से उसके पूरे इतिहास को सत्यापित करेगा । इससे कोई फर्क नहीं पड़ता कि श्रृंखला थोड़ी लंबी या छोटी है।

दूसरी ओर, यदि आप सुरक्षा के लिए SHA-1 पर भरोसा नहीं करते हैं, तो आपको पूरी तरह से बेकार हस्ताक्षर करने पर विचार करना चाहिए, क्योंकि कमिट्स फ़ाइल सामग्री को SHA-1 हैश द्वारा भी संदर्भित किया जाता है। केवल एक चीज जिसे आप सीधे हस्ताक्षर करते हैं (और एक हैश नहीं है) प्रतिबद्ध संदेश है।

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