2012-03-03 14 views
109

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

हम पहले से ही .idea/.gitignore जोड़ चुके हैं, लेकिन यह .idea में परिवर्तनों को ट्रैक करता रहता है। मुझे यह सही तरीके से कैसे करना चाहिए?

नीचे ठेठ त्रुटि संदेश मुझे मिल में से एक है:

error: Your local changes to the following files would be overwritten by checkout: 
    .idea/workspace.xml 
+7

शायद आप पहले से ही लागू किए गए; आपको आरएम गिट करने की जरूरत है; इसे अनदेखा करने के लिए जोड़ें। –

उत्तर

145

सिर्फ .idea/ काम करता है ठीक करना चाहिए, वहाँ एक इग्नोर लिस्ट (सेटिंग्स/संस्करण नियंत्रण) है। शायद इसे वहां अक्षम करने का प्रयास करें। मुझे उनके समर्थन लोगों से इशारा मिला।

enter image description here

+4

हाय वहाँ! हमें और बताएं कि आप यह कैसे करते हैं ... मेरे लिए काम नहीं कर रहा है? :( – YoniGeek

+0

गिट उससे थोड़ा अलग काम करता है। अधिक जानकारी के लिए [git man page] (http://git-scm.com/docs/gitignore#_pattern_format) देखें। –

+0

यह काम करता है लेकिन उप- फ़ोल्डर्स। उदाहरण के लिए मेरे पास एक ही गिट के तहत 2 प्रोजेक्ट हैं और उनमें से कोई भी ब्लॉक नहीं करता है जब तक कि मैं 2 लाइनें "फ़ोल्डर्सए/.idea /" और "फ़ोल्डर बी/.idea /" –

22

अपने अपवर्जन सूची में .idea/* जोड़े सभी .idea फ़ाइलें, निर्देशिका, और उप-संसाधनों की ट्रैकिंग को रोकने के लिए।

3

.idea/* के बारे में क्या? परीक्षण नहीं किया है, लेकिन यह यह

8

~/.gitignore_global को .idea जोड़ें और निर्देशों का पालन करे .gitignore_global काम कर पाने के लिए:

Git global ignore not working

तो फिर तुम कभी एक व्यक्ति को जोड़ने के लिए की जरूरत नहीं है .gitignore फ़ाइल।

+1

आईएमओ यह रास्ता है। –

4

मेरे लिए वहाँ की तुलना में ".idea" के साथ और से उपयोग आईडीई फिर

+0

हाय वहाँ! मैंने कोशिश की! लेकिन आईडीई फिर से मेरी फाइलों को फिर से लोड नहीं कर सका ... आपने यह कैसे किया? धन्यवाद! – YoniGeek

21

फ़ाइल .gitignore प्रतिबद्ध अगर एक फ़ाइल पहले से Git द्वारा पता लगाया जा रहा है .idea फ़ोल्डर दूर करने के लिए, करने के लिए फ़ाइल जोड़ने केवल एक ही समाधान किया गया। गिटिनोर गिट को इसे ट्रैक करने से नहीं रोक पाएगा। आपको पहले अपराधी फ़ाइल को गिट आरएम करना होगा, फिर अपने .gitignore में जोड़ें।

जोड़ना .idea/काम करना चाहिए

179

अपने टर्मिनल में git rm -r --cached .idea की कोशिश करो। यह परिवर्तन ट्रैकिंग अक्षम करता है।

+17

वहाँ सबसे उपयोगी जवाब वहाँ! –

+4

यह उत्तर सही उत्तर के रूप में स्वीकार किया जाना चाहिए! –

+1

बहुत बहुत धन्यवाद! लेकिन मैं कैश में क्यों एक कुल खाली भंडार जांचने के बाद? – Budi

29

नोट जेटब्रेन्स सभी लेकिन .idea/* फ़ाइलों

के दो ट्रैकिंग परियोजना टीम के बीच बेहतर सहयोग आप परियोजना में .idea निर्देशिका तहत सभी फाइलों संस्करण नियंत्रण में रखना चाहिए के लिए सिफारिश की है कि rootpace.xml और tasks.xml फ़ाइलों को छोड़कर रूट स्टोर उपयोगकर्ता विशिष्ट सेटिंग्स। (How to manage RubyMine projects under Version Control Systems)

तो आप शायद ही workspace.xml और tasks.xml फ़ाइलों

+8

जबकि मैं इस उत्तर से सहमत हूं [शुद्धता के लिए +1 किया गया], मैं * सोचता हूं * टीम जो आईडीई के साथ सख्त नहीं हैं और ऐसे में '.idea' फ़ोल्डर में जांच नहीं कर सकते हैं ... यह कभी नहीं है वैसे भी मुझे समझ में आया, वहां फाइलें हमेशा उन कारणों से संघर्ष करती हैं जो कोई समझ नहीं लेती हैं। – JaKXz

+5

आईडीई विशिष्ट फाइलों को प्रतिबद्ध करना एक बुरा अभ्यास है। एक कारण यह है कि विभिन्न डेवलपर्स विभिन्न टूल्स का उपयोग कर सकते हैं। दूसरा यह है कि उन फ़ाइलों में उपयोगकर्ता विशिष्ट कॉन्फ़िगरेशन हो सकता है जो हर समय संघर्ष प्राप्त करेगा। –

+2

यह सिफारिश एक बुरी आदत है। किसी प्रोजेक्ट में इसका उपयोग करना उन संस्करण फ़ाइलों का सबसे अच्छा तरीका है जिनमें उपयोगकर्ता विशिष्ट जानकारी जैसे पूर्ण पथ शामिल है ... इस रेको का पालन करने से पहले बस अपने '.idea' फ़ोल्डर के अंदर देखें। – JBE

4

अनदेखा कर देना चाहिए मैं git man page पढ़ने पूरी तरह से समझने के लिए काम पर ध्यान न दें सुझाव देते हैं, और भविष्य में तुम मुझे धन्यवाद करता हूँ;)

आपकी समस्या का प्रासंगिक:

Two consecutive asterisks ("**") in patterns matched against full pathname may have special meaning: 

A leading "**" followed by a slash means match in all directories. For example, "**/foo" matches file or directory "foo" anywhere, the same  as pattern "foo". "**/foo/bar" matches file or directory "bar" anywhere that is directly under directory "foo". 

A trailing "/**" matches everything inside. For example, "abc/**" matches all files inside directory "abc", relative to the location of the . gitignore file, with infinite depth. 

A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "a/**/b" matches "a/b", "a/x/b",  "a/x/y/b" and so on. 

Other consecutive asterisks are considered invalid. 
+1

यह भविष्य नहीं है और मैं पहले से ही आपको धन्यवाद दे रहा हूं। +1 –

3

आप उन्नत gitignore फ़ाइल पीढ़ी के लिए gitignore का उपयोग कर सकते हैं। यह तेज़, आसान और अत्याधुनिक टैग आपके लिए स्वचालित रूप से जेनरेट किए जाते हैं।

JetBrains सॉफ्टवेयर के अधिकांश के लिए इस लिंक ( intelij, phpstorm ...) का प्रयोग करें jetbrains .gitignore file

[संपादित करें]

नीचे JetBrains सॉफ्टवेयर्स के लिए उत्पन्न gitignore फ़ाइल है, यह परियोजनाओं के प्रबंधन के लिए जेटब्रेन सॉफ़्टवेयर द्वारा उपयोग की जाने वाली संवेदनशील सूचनाओं (पासवर्ड, कीस्टोर, डीबी पासवर्ड ...) को साझा करने से आपको रोक देगा।

# Created by https://www.gitignore.io 

### Intellij ### 
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm 

*.iml 

## Directory-based project format: 
.idea/ 
# if you remove the above rule, at least ignore the following: 

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

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

# Gradle: 
# .idea/gradle.xml 
# .idea/libraries 

# Mongo Explorer plugin: 
# .idea/mongoSettings.xml 

## File-based project format: 
*.ipr 
*.iws 

## Plugin-specific files: 

# IntelliJ 
/out/ 

# mpeltonen/sbt-idea plugin 
.idea_modules/ 

# JIRA plugin 
atlassian-ide-plugin.xml 

# Crashlytics plugin (for Android Studio and IntelliJ) 
com_crashlytics_export_strings.xml 
crashlytics.properties 
crashlytics-build.properties 

जेनरेट कोड भी अच्छी तरह से टिप्पणी की गई है। आशा है कि यह मदद करता है :)

+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। केवल लिंक ही जवाब दे सकते हैं लिंक किए गए पृष्ठ में परिवर्तन होने पर अमान्य हो गया। – Himanshu

+0

@ हिमांशु लिंक लिंक गिटिनोर फाइलों के एक खोज इंजन के लिए है। आप सुझाव देते हैं कि इसे पोस्ट में कॉपी किया जाना चाहिए? –

+0

@ हिमांशु मेरा संपादन देखें। – Williem

4

मैं अपने .gitignore में उन फ़ाइलों को जोड़ा करने की कोशिश की और यह बेकार था ...

फिर भी, के रूप में Petr Syrov कहा, आप अपने टर्मिनल में git rm -r --cached .idea उपयोग कर सकते हैं और उन फ़ाइलों को जीता ' अब कोई समस्या नहीं है!

6

बंद पीएचपी तूफान टर्मिनल में प्रोजेक्ट फ़ोल्डर प्रकार के लिए जाना

git rm -rf .idea; git commit -m "delete .idea"; git push; 

उसके बाद फ़ोल्डर परियोजना के लिए जाने के लिए और फ़ोल्डर .idea

sudo rm -r .idea/ 

प्रारंभ PhpStorm हटा सकते हैं और आप

किया जाता है
9

आपके टर्मिनल में git rm -r --cached .idea का उपयोग करके मेरे लिए बहुत अच्छा काम किया। यह परिवर्तन ट्रैकिंग को अक्षम करता है और रूबिमाइन फ़ोल्डर (विचार /) के तहत कई फाइलों को अनसेट करता है जिसे मैं जोड़ सकता हूं और गिट को प्रतिबद्ध कर सकता हूं, इस प्रकार तुलना को हटा सकता हूं और .idea/ की गिटिनोर सेटिंग को काम करने की अनुमति देता हूं।

-4

विंडोज़ पर। बस .idea फ़ोल्डर छुपाएं। गिट बाकी का ख्याल रखेगा।

+2

यह वास्तव में ' idiomatic गिट '। यदि ओपी वर्तमान repo के लिए .gitignore संपादित किए बिना फ़ाइल को अनदेखा करना चाहता था तो उन्हें एक वैश्विक gitignore फ़ाइल का उपयोग करना चाहिए। यह वास्तव में git ignore_ नहीं बना रहा है बल्कि गिट से चीजों को छुपा रहा है - हालांकि मुझे लगता है कि यह है एक ही प्रभाव। –

0

उपयोग .ignore प्लगइन: https://plugins.jetbrains.com/plugin/7495--ignore

यह पथ आप के लिए/पैटर्न स्वचालित रूप से का एक बहुत का प्रबंधन और भी कई उपयोगी अतिरिक्त विशेषताएं है।

  • IntelliJ विचार
  • PhpStorm
  • WebStorm
  • PyCharm
  • RubyMine
  • AppCode
  • Clion
  • Goland
  • DataGrip
  • : यह के साथ संगत है
  • सवार
  • एमपीएस
  • एंड्रॉयड स्टूडियो
संबंधित मुद्दे