अनदेखा नहीं कर सकता .idea / workspace.xml - पॉप अप करता रहता है


237

PHPStorm का उपयोग करते हुए, मैं workspace.xmlहर बार पॉप अप करने की कोशिश कर रहा हूं जिससे मैं एक कमिट बनाने की कोशिश करता हूं।

मेरी .gitignoreतरह दिखता है:

/.idea/
.idea/workspace.xml

क्योंकि एक बिंदु पर फ़ाइल प्रतिबद्ध थी, मैंने भी निष्पादित किया है:

git rm --cached .idea/workspace.xml और फिर निष्कासन के लिए प्रतिबद्ध, एक नंगे रेपो को धकेल दिया।

लेकिन जब मैं प्रोजेक्ट में बदलाव करता हूं तो फाइल बाद में पॉप अप होती रहती है।

मैं क्या याद कर रहा हूँ पर कोई विचार?


नीचे सब कुछ करने की कोशिश की, gitignore में जोड़ा, लेकिन यह अभी भी वापस आ रहा है, gitignore की अनदेखी।
ओलाफ

ऐसा ही सवाल लगता है । इसे देखें और देखें ...
लुका बैले

इस लिंक से बाहर निकलें: stackoverflow.com/questions/8156299/… । आपकी इसी समस्या को देखता है।
लुका बैले

जवाबों:


288

मैं उसी मुद्दे का सामना कर रहा था, और इसने मुझे दीवार पर चढ़ा दिया। यह मुद्दा समाप्त हो गया कि .idea फ़ोल्डर पहले ही रेपो में शुरू हो गया था, और इसलिए उन्हें गिट द्वारा ट्रैक किया जा रहा था, भले ही आपने उन्हें अनदेखा किया हो या नहीं। रूबीमाइन / इंटेलीजे या जो भी आईडीई आप उपयोग कर रहे हैं, उसे बंद करने के बाद मैं निम्नलिखित की सिफारिश करूंगा:

mv .idea ../.idea_backup
rm .idea # in case you forgot to close your IDE
git rm -r .idea 
git commit -m "Remove .idea from repo"
mv ../.idea_backup .idea

के बाद से अनदेखा करने के लिए सुनिश्चित करें। अपने .itignore में

यद्यपि यह रिपॉजिटरी के .gitignore में इसे अनदेखा करने के लिए पर्याप्त है, मैं सुझाव दूंगा कि आप अपने IDE के डॉटफ़ाइल्स को वैश्विक रूप से अनदेखा करें।

अन्यथा आपको इसे अपने हर प्रोजेक्ट में काम करने के लिए प्रत्येक .gitgnore में जोड़ना होगा। इसके अलावा, यदि आप अन्य लोगों के साथ सहयोग करते हैं, तो इसका सबसे अच्छा अभ्यास परियोजना के प्रॉफ़िट को निर्दिष्ट करना है। निजी कॉन्फ़िगरेशन के साथ जो प्रोजेक्ट के स्रोत-कोड के लिए विशिष्ट नहीं हैं।


अंतिम कमांड git त्रुटि से बचने के लिए "git mv ../.idea_backup .idea" के बजाय "mv ../.idea_backup .idea" होना चाहिए
सिंह केसिरो

2
मुझे नौकरी करने के git rm .ideaबजाय git add .ideaकरना होगा
सर्ज

मैं भी बदल addके लिए rmलेकिन मेरे मामले में मैं जोड़ने के लिए किया था -rऔर साथ ही रिकर्सिवली सब दूर करने के लिए। git rm -r .idea
19end में 19 अक्टूबर को jmendiola

2
वाह धन्यवाद!! यह कोई फायदा नहीं हुआ एक लाख अलग तरीके की कोशिश की। यह दृष्टिकोण कदम से कदम सही है। महत्वपूर्ण अंतर जो मुझे याद आ रहा था, यह सुनिश्चित करने के लिए कि मेरा आईडीई बंद था - उस चरण को याद न करें! बहुत बढ़िया जवाब :)
जॉनी असमर

धन्यवाद! कई, कई बार एक काम के समाधान की तलाश में बिताए और गंभीर कोशिश की। यह ऐसा करने का सबसे सरल तरीका है।
एडेप

83

मुझे अभी यह समस्या थी, मुझे git rm -f .idea/workspace.xml अब यह करना पड़ा था कि मुझे लगता है (मुझे इसे भी लगाना पड़ा .gitignore)


7
मैं यह भी जोड़ूंगा, केवल सटीक खातिर, कि यह कदम करते समय आइडिया इंटेलीज को बंद कर दिया जाना चाहिए।
लोरेव

29

मुझे करना पड़ा:

  • फ़ाइल को गिट से हटा दें
  • सभी उपाय के लिए प्रतिबद्ध धक्का
  • सुनिश्चित करें कि रिमोट से अपडेट किए गए अन्य सभी कमिटर्स

आदेश

git rm -f .idea/workspace.xml
git remote | xargs -L1 git push --all

अन्य कमैंट्स को चलना चाहिए

git pull

7
हालांकि मुझे इस जवाब के लिए खुशी है, मैं मदद नहीं कर सकता, लेकिन यह महसूस करता हूं कि यह अधिक उपयोगी होगा यदि चरणों को पूरा करने के निर्देश (जैसे, कमांड लाइन के निर्देश) शामिल किए गए थे।
फ्लाइंग फास

इस लिंक से बाहर निकलें: stackoverflow.com/questions/8156299/… । बिल्कुल आपकी ही समस्या जैसी दिखती है।
लुका बैले

शट डाउन करें IDE \ n git rm -f .idea / workspace.xml \ n git कमिट-मी "वर्कस्पेस को हटाएं। xml"। nignignore को कार्यक्षेत्र से बाहर करने के लिए।
xml

27

उसी dir में, जहाँ आप फ़ाइल को दिखाई देते हैं:

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • i(संपादित करने के लिए), .idea/workspace.xmlएक पंक्ति में जोड़ें Esc,:wq

तुम अब अच्छे बनो


2
या, .gitignore में पंक्ति जोड़ने के लिए, बस टाइप करें echo .idea/workspace.xml>>.gitignore। आपको हर चीज के लिए vi खोलने की जरूरत नहीं है। वैकल्पिक रूप से, और मैं क्या करूँगा, एक अलग .itignore फ़ाइल को .id निर्देशिका में रखना है:echo workspace.xml>>.idea/.gitignore
Godsmith

17

अपने IDE कॉन्फ़िगरेशन को प्रभावित किए बिना.idea/ पूरी तरह से गिट से निकालने के लिए आप बस कर सकते हैं:

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"

6

यदि आपके पास आपके git रेपो में कई प्रोजेक्ट्स हैं , .idea/workspace.xmlतो किसी भी फाइल से मेल नहीं खाएगा।

इसके बजाय, निम्नलिखित करें:

$ git rm -f **/.idea/workspace.xml

और अपने .itignore को कुछ इस तरह बनाएं:

# User-specific stuff:
**/.idea/workspace.xml
**/.idea/tasks.xml
**/.idea/dictionaries
**/.idea/vcs.xml
**/.idea/jsLibraryMappings.xml

# Sensitive or high-churn files:
**/.idea/dataSources.ids
**/.idea/dataSources.xml
**/.idea/dataSources.local.xml
**/.idea/sqlDataSources.xml
**/.idea/dynamic.xml
**/.idea/uiDesigner.xml

## File-based project format:
*.iws

# IntelliJ
/out/

5

सिर्फ यह बताने के लिए कि यह कभी नहीं बदला जाता है कि क्या मायने नहीं रखता है:

git update-index --assume-unchanged src/file/to/ignore

हां, आप फ़ाइलों को गिट रिपॉजिटरी से हटा सकते हैं। लेकिन अगर आपकी टीम सभी एक ही आईडीई का उपयोग करती है या आप खुद से हैं, तो आप शायद ऐसा नहीं करना चाहते हैं। अपने लिए, आप अपने टीम के साथियों के लिए भी काम करना फिर से शुरू करने के लिए एक शुरुआती बिंदु चाहते हैं।


0

जिस तरह से मैंने एंड्रॉइड स्टूडियो में किया वह भी इंटेलीजे पर आधारित था। प्रतिबद्ध संवाद में, मैंने कार्यक्षेत्र। Xml के लिए परिवर्तन को वापस कर दिया, फिर इसे बिना फाइल के स्थानांतरित कर दिया गया। उसके बाद मैंने इसे प्रतिबद्ध संवाद से हटा दिया। अब यह चैंजिस्ट में नहीं दिखेगा। ध्यान दें कि मेरा gitignore पहले से ही था .idea / कार्यक्षेत्र। Xml


0

चूंकि मेरे मामले में मैं एक परियोजना की पहली प्रतिबद्धता का प्रदर्शन कर रहा था, बस हटा रहा था .gitऔर .ideaफ़ोल्डर्स और फिर git initएक समस्या को हल करने के लिए मदद का उपयोग करके git को पुन: व्यवस्थित कर रहा था । अब मेरे पास बिल्कुल नहीं है .idea


0

PHPStorm के साथ मेरे लिए भी यही समस्या है

अंत में मैंने निम्नलिखित को हल किया:

  • निकालें .idea / निर्देशिका
  • ले जाएँ .gitignore एक ही स्तर के लिए नए उत्पन्न हो जाएगा .idea /
  • उन फ़ाइलों को लिखें जिन्हें आपको अनदेखा करने की आवश्यकता है, और .idea / भी। यह सुनिश्चित करने के लिए कि इसे नजरअंदाज कर दिया जाएगा, मैंने निम्नलिखित बातें कहीं:

    • ।विचार/
    • ।विचार
    • ।विचार/*

मैं नहीं जानता कि क्यों इस तरह से, हो सकता है काम करता है है .gitignore के समान स्तर पर होने की जरूरत .idea को इस निर्देशिका पर ध्यान नहीं दिया जा सकता है।


-1

के साथ समाप्त फ़ाइलों पर ध्यान न दें .iws, और workspace.xmlऔर tasks.xmlअपने .gitignore में फ़ाइलों को संदर्भ

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.