2011-11-11 20 views
6

क्या गिट रिपोजिटरी से एक विशेष परिवर्तन को हटाने के लिए भी संभव है। मैं ऐसा इसलिए करना चाहता हूं क्योंकि पहले एक प्रतिबद्धता थी जिसमें कुछ बाइनरी फाइलें शामिल थीं जो स्रोत कोड प्रबंधन के लिए बिल्कुल बेकार हैं।गिट भंडार से एक विशिष्ट परिवर्तन हटाएं पूरी तरह से?

मैं समझ सकता हूं कि इस तथ्य को देखते हुए असंभव है कि प्रतिबद्ध नोड्स के माता-पिता और एक विशिष्ट इतिहास है, लेकिन मुझे लगता है कि यह पूछने में कोई दिक्कत नहीं होगी।

और उत्तर उन प्रश्नों के लिए नहीं है जो पूछते हैं, "क्या आप उस प्रतिबद्धता से पहले उस समय की नई प्रतिलिपि क्लोन कर सकते हैं और वहां से फिर से शुरू कर सकते हैं?"।

+0

संभावित डुप्लिकेट [मैं गिट में गलत तरीके से प्रतिबद्ध एक बड़ी फ़ाइल को कैसे हटा सकता हूं] (http://stackoverflow.com/questions/8083282/how-do-i-remove-a-big-file-wrongly-committed- इन-Git) – antlersoft

उत्तर

8

git rebase -i <commit-id> का उपयोग करें, वहां आईडी उस परिवर्तन से पहले एक प्रतिबद्धता है जिसे आप निकालना चाहते हैं। यह सिर और परिवर्तन के बीच की गतिविधियों की एक सूची खुल जाएगा, जो सूची आप चाहते हैं उसे जारी रखें और जारी रखें। जब यह प्रतिबद्धता "अलग" हो जाएगी, तो इसका मतलब है कि यह भंडार में तब तक तैर जाएगा जब तक कि यह कचरा इकट्ठा न हो जाए। आप इसे मजबूर करने के लिए git gc का उपयोग कर सकते हैं।

हालांकि, आपको याद रखना चाहिए कि भंडार के सभी क्लोन अलग हो जाएंगे, और इसके बाद भी इसका पुन: विश्राम किया जाना चाहिए।

संबंधित मुद्दे