2010-01-08 14 views
11

"Cannot rewrite branch(es) with a dirty working directory".Git त्रुटि

मैं Git करने के लिए नया हूँ "एक गंदा कार्यशील निर्देशिका के साथ शाखा (ते) पुनर्लेखन नहीं कर सकते"।

इस त्रुटि का क्या अर्थ है? मुझे क्या करना चाहिए/क्या कर सकता हूँ?

+0

यह मेरी पहली Git रेपो और मैं कुछ की थी संबंधित नहीं है ... यह सही करने के लिए किया था। – jldupont

+0

मुझे एक ही समस्या है और मुझे गिट के साथ अनुभव हुआ है। अगर मैं 'गिट फिल्टर-शाखा - सब्सडायरेक्टरी-फ़िल्टर somedir करता हूं - - मैं' अपने पूरे रेपो संसाधित होने के साथ समाप्त होता हूं लेकिन अगर मैं 'गिट फ़िल्टर-शाखा - फ्री-फिल्टर' आरएम कुछफाइल 'करता हूं - - सब कुछ ऊपर वर्णित त्रुटि के साथ पहली शाखा को संसाधित करने के बाद छोड़ देता है। 'फ़िल्टर-शाखा' '--subdirectory-filter' की स्थिति को क्यों सहेजता है लेकिन' --tree-filter' निर्देशिका को बदलता है तो रोकें? –

उत्तर

19

एक गंदे कामकाजी निर्देशिका का मतलब है कि आपके पास आपकी शाखा में असामान्य परिवर्तन हैं। आप या तो उन्हें प्रतिबद्ध कर सकते हैं या उन्हें छीन सकते हैं। बस छिपाया का उपयोग करें:

git stash 

और इस का उपयोग अपने परिवर्तनों को लाने के लिए वापस

git stash apply 
+0

जिसने मदद की ... धन्यवाद! – jldupont

+3

ध्यान दें कि आपके पास वास्तव में एक गंदे कामकाजी निर्देशिका नहीं हो सकती है: 1.7.7.1 से पहले गिट में एक बग है जिसका अर्थ है कि 'फ़िल्टर-शाखा' चलाने पर गिट अपनी आंतरिक अनुक्रमणिका को रीफ्रेश नहीं करता है। तो फिर भी इन दो आदेशों को चलाने का प्रयास करें - जब तक कि कोई भी इंडेक्स रीफ्रेश को मजबूर करने के लिए कम हैकी तरीके से नहीं जानता। (इस सवाल पर [इस सवाल] पर अधिक चर्चा (http://stackoverflow.com/questions/6463963/git-filter-branch-says-working-tree-is-dirty-when-it-is-not)।) –

+2

उपरोक्त लिंक पर जोड़े गए एक टिप्पणी से: 'गिट अपडेट-इंडेक्स -q --ignore-submodules --refresh' को इंडेक्स अपडेट करना चाहिए! –

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