खोज…


परिचय

यदि आप संवेदनशील डेटा, जैसे पासवर्ड या SSH कुंजी को Git रिपॉजिटरी में करते हैं, तो आप इसे इतिहास से हटा सकते हैं। किसी रिपॉजिटरी के इतिहास से अवांछित फ़ाइलों को पूरी तरह से हटाने के लिए आप गिट फ़िल्टर-शाखा कमांड या बीएफजी रेपो-क्लीनर का उपयोग कर सकते हैं।

टिप्पणियों

  1. अपने सहयोगियों को बताएं कि आप अपने पुराने (दागी) भंडार इतिहास से हटकर, किसी भी शाखा में विलय न करें। एक मर्ज कमिटमेंट कुछ या सभी दागी इतिहास को फिर से प्रस्तुत कर सकता है जिसे आप सिर्फ शुद्ध करने की परेशानी में गए थे।

  2. कुछ समय बीत जाने के बाद और आप आश्वस्त हैं कि git फ़िल्टर-शाखा का कोई अनपेक्षित दुष्प्रभाव नहीं था, आप अपने स्थानीय भंडार में सभी वस्तुओं को निम्न आदेशों के साथ संग्रहित और कचरा एकत्र करने के लिए बाध्य कर सकते हैं (Git 1.8.5 या नए का उपयोग करके):

    git for-each-ref -format = 'delete% (refname)' refs / original | git update-ref --stdin

    git reflog expire --expire = now --all

    git gc --prune = अब

फ़िल्टर-शाखा का उपयोग करना

git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' \
--prune-empty --tag-name-filter cat -- --all

यह सुनिश्चित करने के लिए संवेदनशील डेटा के साथ अपनी फ़ाइल को .gitignore में जोड़ें कि आप गलती से इसे फिर से न करें।

echo "YOUR-FILE-WITH-SENSITIVE-DATA" >> .gitignore
git add .gitignore
git commit -m "Add YOUR-FILE-WITH-SENSITIVE-DATA to .gitignore"

GitHub में अपने स्थानीय रेपो को पुश करें

git push origin --force --all

अपने टैग किए गए रिलीज़ से संवेदनशील फ़ाइल को निकालने के लिए, आपको अपने Git टैग के विरुद्ध जोर लगाना होगा:

git push origin --force --tags

BFG रेपो क्लीनर का उपयोग करना

BFG रेपो क्लीनर, git फ़िल्टर-शाखा का एक विकल्प है। इसका उपयोग संवेदनशील डेटा या बड़ी फ़ाइलों को हटाने के लिए किया जा सकता है जो गलत तरीके से किए गए थे जैसे कि स्रोत से संकलित बायनेरिज़। यह स्काला में लिखा गया है।

प्रोजेक्ट वेबसाइट: बीएफजी रेपो क्लीनर

आवश्यकताएँ

जावा रनटाइम एनवायरनमेंट (जावा 7 या उससे ऊपर - BFG v1.12.3 जावा 6 का समर्थन करने के लिए अंतिम संस्करण था)। स्काला लाइब्रेरी और अन्य सभी निर्भरताएँ डाउनलोड करने योग्य जार में बदल जाती हैं।

संवेदनशील डेटा वाली फ़ाइलें निकालें

bfg --delete-files YOUR-FILE-WITH-SENSITIVE-DATA


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow