2012-02-11 13 views
16

मैं googling गया है और शुद्ध भर के विभिन्न पदों पढ़ रहे हैं और मैं कोशिश की है:"चेतावनी: रेफरी रेफरी/हेड/मास्टर 'अपरिवर्तित होने के बिना गिट में स्थायी रूप से फ़ाइल को कैसे निकालें?

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch Launcher\lib" --prune-empty -- --all

और

git filter-branch --tree-filter "rm -rf Launcher\lib" --prune-empty -- --all

सभी एक में जिसके परिणामस्वरूप:

चेतावनी : रेफरी 'रेफर्स/हेड/मास्टर' अपरिवर्तित है

इस भंडार के अन्य क्लोन और केंद्रीय सर्वर भी हैं। मैं सर्वर में परिवर्तनों को धक्का दूंगा, जैसा कि मैं समझता हूं, क्लोन वाले अन्य लोगों को केवल लाने और पुन: विलय करने की आवश्यकता होती है (विलय नहीं)? अगर वे बदलाव कर चुके हैं तो क्या यह अभी भी काम करेगा?

+0

फ़िल्टर शाखा के बाद कुछ भी बदल गया? – Andy

+0

नहीं, फाइल सिस्टम समान है और मैं इतिहास में फ़ाइलों को देखता हूं। – Tower

+0

अंतिम रेपो इतिहास के संदर्भ में, गति के अलावा, आदेश के 'इंडेक्स-फ़िल्टर' और 'पेड़-फ़िल्टर' संस्करणों के बीच कोई अंतर है? '--',' --all' और '--prune-blank' क्या करता है? –

उत्तर

21

ठीक है मैंने समस्या हल की है, यह वह रास्ता था जो गलत था। यह करने के लिए

Launcher\lib

:: मैं इस बदल

Launcher/lib/

और अब यह काम करता है;)

+1

+1 धन्यवाद ... मैं रेफरी/* –

+0

पर सर्जरी करने वाला था, इसी तरह, अगर आपने फ़ाइल को 'गीट एमवी' के साथ ले जाया है, तो पुराने काम अभी भी पुराने स्थान को संदर्भित करते हैं, इसलिए आपको 'आरएम' होना चाहिए , नया स्थान नहीं (या दोनों के साथ इसे चलाएं)। –

7

मैं के बाद से मैं था वाला यहाँ इस डाल एक भविष्य में संदर्भ के रूप में कर रहा हूँ एक ही समस्या: यदि आप cmder (या अन्य ConEmu स्वाद) का उपयोग करते हैं, तो एकल कोट्स के बजाय डबल कोट्स का उपयोग करें।

इसके अलावा उद्धरण में पथ लपेट अपने पते में कुछ सफेद स्थान है, तो:

git filter-branch --force --index-filter \ 
"git rm --cached --ignore-unmatch 'server/bin/some file.txt'" \ 
--prune-empty --tag-name-filter cat -- --all 

यही समस्या थी जब मुझे लगता है कि त्रुटि मिली।

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