मुझे लगता है कि आप git filter-branch
कमांड के साथ सही रास्ते पर हैं। समस्या यह है कि आपने फ़ाइल को किसी भी काम में रखने के लिए नहीं बताया है, इसलिए इसे उन सभी से हटा दिया गया है। अब, मुझे नहीं लगता कि सीधे किसी भी काम को छोड़ने के लिए git-filter-branch
बताएं। हालांकि, चूंकि कमांड शेल संदर्भ में चलाए जाते हैं, इसलिए संशोधनों की अंतिम एक्स संख्या के अलावा सभी को हटाने के लिए खोल का उपयोग करना बहुत कठिन नहीं होना चाहिए। कुछ इस तरह:
KEEP=10 I=0 NUM_COMMITS=$(git rev-list master | wc -l) \
git filter-branch --index-filter \
'if [[ ${I} -lt $((NUM_COMMITS - KEEP)) ]]; then
git rm --cached --ignore-unmatch big_manual.txt;
fi;
I=$((I + 1))'
कि पिछले 10 प्रतिबद्ध में big_manual.txt
बनाए रखेगा।
कहा जा रहा है कि चार्ल्स ने उल्लेख किया है, मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है, क्योंकि आप पुराने संस्करणों को हटाकर वीसीएस के पूरे बिंदु को पूर्ववत कर रहे हैं।
क्या आपने पहले से ही git-gc
और/या git-repack
के साथ गिट रेपॉजिटरी को अनुकूलित करने का प्रयास किया है? यदि नहीं, तो वे कोशिश करने लायक हो सकते हैं।
स्रोत
2009-05-31 01:47:27
मुझे लगता है कि यदि आप इस फाइल को और तुम क्या करने की कोशिश कर रहे हैं के बारे में कुछ और जानकारी दे दी है यह मदद मिलेगी। यह एक एक बंद घटना होने जा रहा है या आप फ़ाइल को शुद्ध और भंडार इतिहास नियमित रूप से पुनर्लेखन के लिए योजना बनाई है? यदि आपको अपना इतिहास रखने की आवश्यकता नहीं है तो आप फ़ाइल को गिट में क्यों ट्रैक कर रहे हैं? आपका नंगे भंडार कितना बड़ा है और क्या यह वास्तव में एक समस्या है यदि यह बड़ा है? –
यह मेरे प्रोग्राम के लिए मैनुअल है, मैं ऐप्पल पेज (वर्ड प्रोसेसर) का उपयोग कर लिख रहा हूं और इसमें कई छवियां शामिल हैं। मैं इसे जीआईटी में अधिकतर स्टोर करता हूं इसलिए मैं इसे अपने स्थिर कंप्यूटर और अपने लैपटॉप के बीच साझा कर सकता हूं, और इसलिए कुछ गलत होने पर मैं और पूर्ववत करता हूं। भंडार वर्तमान में 450 एमबी है। मैं फ़ाइल के साथ काम करने में संकोच करता हूं क्योंकि मुझे पता है कि भंडार आकार बढ़ता है .. मेरे बैकअप समाधान पर पुनर्विचार करने के बजाय मैंने सोचा कि पुराने सुधारों से छुटकारा पाने के लिए बेहतर होगा। मैं दैनिक भंडार का एक पूर्ण स्नैपशॉट लेता हूं और इसे अपलोड करता हूं, लेकिन डिस्क कोटा 3 जीबी है। – neoneye
हां, मुझे आशा है कि समय-समय पर ऐसा करना संभव है। – neoneye