Bitbucket: Git इतिहास से फ़ोल्डर हटाएं

बिटबकेट पर गिट की मेजबानी करते समय 2 जीबी की एक कठिन सीमा होती है - यदि यह पार हो गई है, तो आपके पास केवल रिपॉजिटरी तक केवल पढ़ने के लिए पहुंच है। इसे रोकने के लिए, उदाहरण के लिए, आप अपने कमिट से बड़े फोल्डर या फाइल को हटाते हैं। लेकिन अन्य मामलों में भी (यदि एक्सेस डेटा ने इतिहास में प्रवेश किया है या नोड_मॉड्यूल्स फिर से मास्टर पर फिसल गया है), तो आपको रिट्स को अपनी प्रकृति के विपरीत गिट के इतिहास में हेरफेर करना होगा।


Bitbucket ने इस पर एक विस्तृत लेख लिखा है। एक मामले में पूरी बात से गुजरने के लिए, हम पहले एक नया भंडार बनाते हैं:

बिटबकेट इतिहास साफ

फिर हम रिपोजिटरी को स्थानीय मशीन पर एक खाली फ़ोल्डर में क्लोन करते हैं:

6ab7686fc508ce87c52b10bb5d01ee51

अब हम यादृच्छिक सामग्री की फ़ाइलों के साथ दो सबफ़ोल्डर बनाते हैं:

6ab7686fc508ce87c52b10bb5d01ee51

अब हम मास्टर पर जोर दे रहे हैं:

6ab7686fc508ce87c52b10bb5d01ee51

अब हम Bitbucket पर लगभग 2 जीबी की कठिन सीमा तक पहुँच चुके हैं:

बिटबकेट इतिहास साफ

हम इसे स्थानीय रूप से भी देख सकते हैं (देखें "आकार-पैक"):

6ab7686fc508ce87c52b10bb5d01ee51

बिटबकेट इतिहास साफ

अब कार्य अपने आकार को आधा करने के लिए रिपॉजिटरी से "फू" को पीछे हटाना है। ऐसा करने के लिए, हम पहले वर्तमान हेड को संपादित करते हैं और फ़ोल्डर को gitignore में लिखते हैं:

6ab7686fc508ce87c52b10bb5d01ee51

अंत में, हम फ़ोल्डर को हटाने के लिए बीएफजी रेपो क्लीनर का उपयोग करते हैं (सिस्टम की आवश्यकता के रूप में बीएफजी को सिस्टम पर वर्तमान जेआरई की आवश्यकता होती है):

6ab7686fc508ce87c52b10bb5d01ee51

अब हम स्थानीय रूप से परिणाम देखते हैं:

6ab7686fc508ce87c52b10bb5d01ee51

बिटबकेट इतिहास साफ

हालांकि, रिपॉजिटरी का आकार अभी तक बिटकॉइन पर नहीं बदला है क्योंकि कचरा कलेक्टर को अभी तक दूरस्थ रूप से निष्पादित नहीं किया गया है और बिटकॉइन हर पुश के साथ "गिट जीसी" निष्पादित नहीं करता है:

बिटबकेट इतिहास साफ

समर्थन भी इसकी पुष्टि करता है:

बिटबकेट इतिहास साफ

इसलिए सीधे रिपॉजिटरी में "git gc" को मैन्युअल रूप से चलाने के लिए support@bitbucket.org पर सीधे अनुरोध भेजना सबसे अच्छा है। थोड़े समय के बाद, यह भी समर्थन टीम द्वारा किया गया था:

बिटबकेट इतिहास साफ

यदि आप अब "हौसले से" रिपॉजिटरी को दूसरे कंप्यूटर पर खींचते हैं, तो केवल 0.9 जीबी डिस्क पर समाप्त हो जाएगा। अगर किसी के पास अभी भी स्थानीय स्तर पर 1.8 जीबी संस्करण उपलब्ध है, तो "गिट gc" के बाद "गिट पुल" पर्याप्त है।

वापस