Git फ़िल्टर रिपो

एडवांस्ड Git

Amanda Crawford-Adamo

Software and Data Engineer

git filter-repo क्या है?

Git filter-repo कमांड

git filter-repo

Git रिपोजिटरी का इतिहास तेज़ी और सुरक्षित तरीके से फिर से लिखने का टूल.

  • फ़ाइलें या डायरेक्टरी का नाम बदलें
  • सभी ब्रांच पर एक साथ काम करता है

उद्देश्य

  1. संवेदनशील डेटा हटाएँ (जैसे passwords, tokens)
  2. अनावश्यक फ़ाइलें साफ करें
  3. रिपोजिटरी को पुनर्संरचित करें
  4. रिपोजिटरी का आकार घटाएँ
एडवांस्ड Git

Filter-Repo प्रक्रिया

  1. pip से git filter-repo इंस्टॉल करें

    pip install git-filter-repo
    
  2. हर कमिट से secrets.txt हटाएँ

    git filter-repo --path secrets.txt --invert-paths
    

Filter-Repo संबंधित फ़िल्टर

--path: किन paths पर ऑपरेट करना है, बताएँ

--invert-paths: --path में दिए paths को छोड़कर बाकी सब पर ऑपरेट करें

एडवांस्ड Git

Filter-Repo परिणाम

आउटपुट

  Parsed 150 commits
  New history written in 0.10 seconds; now repacking/cleaning...
  Repacking your repo and cleaning out old unneeded objects

मुख्य प्रभाव

  • सभी ब्रांच और कमिट अपडेट हुए
  • सभी कमिट hashes बदल गए
  • इसके बाद force push ज़रूरी है
  • टीम के सदस्य repo फिर से clone करेंगे
एडवांस्ड Git

filter-repo कब इस्तेमाल करें

उपयोग के मामले

  • संवेदनशील डेटा हटाना (जैसे passwords)
  • फूली हुई रिपोजिटरी को साफ करना
  • सभी कमिट्स में फ़ाइलें rename या reorganize करना

टिप्स

  • filter-repo चलाने से पहले हमेशा रिपोजिटरी का बैकअप लें
  • rewritten history push करने से पहले सहयोगियों से समन्वय करें
एडवांस्ड Git

अभ्यास करते हैं!

एडवांस्ड Git

Preparing Video For Download...