.Idea फ़ोल्डर से gitignore क्या है?


495

संभावित डुप्लिकेट:
Intellij Idea 9/10, किस फ़ोल्डर को स्रोत नियंत्रण में (या जांच नहीं) की जांच करनी है?

मैंने वेब विकास के लिए वेबस्टॉर्म का उपयोग करना शुरू कर दिया है और यह सुनिश्चित नहीं कर रहा हूं कि हमारे गिट रिपॉजिटरी से क्या जोड़ना है और क्या बाहर करना है। स्पष्ट रूप से .ideaफ़ोल्डर के अंदर कुछ फाइलें बाहरी लाइब्रेरी सेटिंग्स ( jsLibraryMappings.xml) की तरह संस्करण नियंत्रित करने के लिए होती हैं, लेकिन अन्य शायद बहुत बार बदलेंगे और डेवलपर-विशिष्ट (जैसे, workspace.xml) हैं।

.gitignoreWebStorm / IntelliJ IDEA के लिए अनुशंसित पैटर्न क्या है ?

PS इस बारे में पहले से ही सवाल हैं, लेकिन आमतौर पर केवल इस बात पर ध्यान केंद्रित किया जाता है कि पूरे .ideaफ़ोल्डर को शामिल किया जाए या इसे पूरी तरह से बाहर रखा जाए। मुझे लगता है कि .ideaफ़ोल्डर के अंदर कुछ फ़ाइलों को संस्करण नियंत्रित किया जाना चाहिए, जबकि अन्य को नहीं करना चाहिए और मैं यह पता लगाने की कोशिश कर रहा हूं कि कौन से हैं।


8
मुझे लगता है, कि IDE फाइल को वर्जनिंग सिस्टम में रखना बुरा विचार है। आपकी परियोजना विशेष IDE से जुड़ी होगी और आप अन्य IDE के उपयोगकर्ताओं के लिए समस्याएं ला सकते हैं। मेरे पास वीसीएस में आईडीई फाइलों के साथ कुछ परियोजनाएं थीं और मुझे जटिलताओं का सामना करना पड़ा। अब मेरे पास वीसीएस में सिर्फ मैवेन फाइलें हैं और आईडिया प्रोजेक्ट फाइल तैयार करती है और सब कुछ ठीक है।
११:१२ को क्लैमर्टिंस

11
@ क्लैमार्टिन मैं भंडार में निर्माण के लिए आवश्यक सब कुछ पसंद करता हूं। जैसा कि हम मावेन का उपयोग नहीं करते हैं और एक एकल आईडीई का भी उपयोग करते हैं, यह .ideaवीसीएस में फाइलें नहीं होने की जटिलता होगी ।
बोरक बर्नार्ड


जवाबों:


430

आधिकारिक समर्थन पृष्ठ को आपके प्रश्न का उत्तर देना चाहिए।

तो अपने में .gitignoreआप के साथ समाप्त होने वाली फ़ाइलों को अनदेखा कर सकते हैं .iws, workspace.xmlऔर tasks.xmlफ़ाइलें।


6
डॉक्टर की सलाह है कि "सभी .iml मॉड्यूल फ़ाइलों को साझा करें", इसलिए निम्न दो पंक्तियों के साथ एक .ignignore ठीक रहेगा: .idea / workspace.xml .idea / functions.xml
केविन ऑर्टमैन

9
सही सिंटैक्स लगता है*/.idea/workspace.xml */.idea/tasks.xml
vsp

111
एक बेहतर वाक्य रचना है**/.idea/workspace.xml **/.idea/tasks.xml
जोश अनगर

37
**/से बेहतर क्यों है */?
वनक्विहिया

39
@ Vanquish46: अधिक विशेष रूप से, ** सभी उप-फ़ोल्डरों के माध्यम से पुनरावृत्ति करता है, इसलिए मापदंड को पूरा करने वाली फ़ाइलों को उप-फ़ोल्डरों में भी अनदेखा किया जाता है।
16

233

मैं अभी हाल ही में एक और विकल्प प्रस्तुत करना चाहता हूं। एक ऑनलाइन उपकरण है जो .gitignoreऑपरेटिंग सिस्टम, आईडीई और प्रोग्रामिंग भाषाओं के आधार पर फाइलें उत्पन्न करता है जो आप उपयोग कर रहे हैं।

gitignore.io


EDIT अस्वीकरण: इस फाइल को कॉपी न करें, इसके बजाय वेबसाइट द्वारा बनाई गई फाइल को कॉपी करें, वे इसे अपडेट रखने पर एक अच्छा काम करते हैं। यह सिर्फ एक उदाहरण है।

IntelliJनिम्न के लिए जनरेट की गई फ़ाइल में निम्न शामिल हैं

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

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# 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

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

# Mongo Explorer plugin:
.idea/mongoSettings.xml

## File-based project format:
*.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
fabric.properties

### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml

1
"डिफ़ॉल्ट रूप से वे सुझाव देते हैं कि आप सब कुछ से अनदेखा करें .idea/" - कोई और नहीं। वर्तमान में उत्पन्न .gitignore में .idea/प्रविष्टि नहीं है ।
मिकोलाज

1
आप .idea/dictionariesएकमुश्त अनदेखी क्यों करेंगे ?

@ मुझे पता नहीं क्यों विशेष रूप से जब से मैं एक प्रस्ताव नहीं कर रहा हूँ .gitignore। मैं सिर्फ उस टूल को दिखा रहा हूं जो यह करता है। मेरा अनुमान है कि यह एक व्यक्तिगत फ़ाइल है। आप अपने शब्दकोश में ऐसा सामान जोड़ सकते हैं जो दूसरों के लिए मान्य न हो। विशेष रूप से जब आप LINT संदेशों को साफ कर रहे हों। मेरा मानना ​​है कि यदि आप अपने साथियों के बीच सहमत हैं तो आप इसे अपने git रेपो में जोड़ सकते हैं।
गेब्रियलओशिरो 15

2
मैंने जेनेरिक 'आप' का उपयोग करने का इरादा किया, क्षमा करें। लेकिन समानता के साथ इसे लाइनिंग करना है, यह पूरी तरह से उन्हें स्रोत रेपो में रखने के लिए समझ में आता है, क्योंकि प्रविष्टियां वास्तव में सभी पर लागू होंगी: शब्दकोश परियोजना की सामग्री के लिए विशिष्ट हैं! उदाहरण के लिए, जब सी के लिए एक पार्सर पर काम करते हैं, तो हर कोई इस समस्या में भाग जाएगा कि शब्द "पंक्चुएटर" को गलत तरीके से एक गलत वर्तनी के रूप में चिह्नित किया गया है ... जब तक आप शब्दकोश साझा नहीं करते।

@ user824425 IntelliJ उपयोगकर्ता शब्दकोशों फ़ोल्डर के बारे में सावधान रहने के लिए कहता है (यदि अन्य डेवलपर का नाम समान है तो संघर्ष से बचने के लिए) - intellij-support.jetbrains.com/hc/en-us/articles/…
nealmcb

28

https://www.gitignore.io/api/jetbrains

Https://www.gitignore.io/api/jetbrains द्वारा बनाया गया

### JetBrains ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# 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

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

# Mongo Explorer plugin:
.idea/mongoSettings.xml

## File-based project format:
*.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
fabric.properties

### JetBrains Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml 
# *.ipr 

2
ठीक! यदि आप कुछ लेना चाहते हैं, तो आप [ gitignore.io/thing(https://www.gitignore.io ) पर जा सकते हैं , यह आपके लिए बहुत मददगार हो सकता है कि आप आसानी से खोज सकें कि आप क्या चाहते हैं!
xgqfrms

1
यह मददगार है, लेकिन यह बेहतर होगा यदि आप सिर्फ फ़ाइल से जुड़े हैं - ऑनलाइन संस्करण में पहले से ही अंतर हैं।
फ्रेंकी साइमन

14

कुछ वर्षों के लिए मैं इस सुझाए गए कॉन्फ़िगरेशन के.gitignore साथ इंटेलीजे के लिए एक विशिष्ट का उपयोग करने का समर्थक था ।

अब और नहीं।

IntelliJ को अक्सर अपडेट किया जाता है, आंतरिक कॉन्फिगर फाइल स्पेक्स मेरे द्वारा और जेटब्रेन्स के प्रमुख एक्सेल की तुलना में ऑटो-कॉन्फिगरिंग के लिए खुद को मावेन / ग्रेडल / आदि बिल्ड फाइल्स के आधार पर अधिक बार बदलते हैं।

इसलिए मेरा सुझाव परियोजना से बाहर सभी संपादक कॉन्फ़िगर फ़ाइलों को छोड़ना होगा और उपयोगकर्ताओं को संपादक को उनकी पसंद के अनुसार कॉन्फ़िगर करना होगा। कोड स्टाइल जैसी चीजें और बिल्ड स्तर पर कॉन्फ़िगर की जानी चाहिए; सीधे मावेन / ग्रैडल / sbt / etc पर Google कोड शैली या चेक स्टाइल का उपयोग कर कहें ।

यह स्थिरता सुनिश्चित करता है और स्रोत कोड से संपादक फ़ाइलों को छोड़ देता है, जो कि मेरी व्यक्तिगत राय में है, जहां उन्हें होना चाहिए।


1
यह वास्तव में मेरी बात है, हमें .gitignoreकेवल जेबी के लिए ही परेशान नहीं होना चाहिए जैसा कि मैंने अपने उत्तर में बताया है।
नेह

7

Jetbrains उनके कार्यक्रमों के लिए निम्नलिखित .gitignore प्रदान करता है

https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# Generated files
.idea/**/contentModel.xml

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

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

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn.  Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules

# CMake
cmake-build-*/

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

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

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

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

-1

आप बस जोड़कर उन सभी को अनदेखा कर सकते हैं .idea/*करने के लिए .gitignoreफ़ाइल।


-2

जबकि उचित .gitignoreफ़ाइल बनाए रखना सहायक होता है, मैंने पाया कि यह वैकल्पिक तरीका क्लीनर और उपयोग करने में आसान है।

  • डमी फ़ोल्डर बनाएं my_projectऔर उसके अंदर git clone my_real_projectवास्तविक परियोजना रेपो।
  • अब IDE (Intellij / Pycharm) में प्रोजेक्ट को खोलते समय फ़ोल्डर खोलें my_projectऔर my_project/my_real_projectVCS रूट के रूप में चिह्नित करें ।
  • आप my_project/.ideaअपने गिट रेपो को प्रदूषित नहीं देख सकते हैं क्योंकि यह खुशी से गिट रेपो के बाहर रहता है जो आप चाहते हैं। इस तरह आपकी .gitignoreफाइलें भी साफ रहती हैं।

नीचे दिए गए कारणों से यह दृष्टिकोण बेहतर काम करता है।

1 - .gitignoreफ़ाइल साफ रहती है और हमें JetBrains उत्पादों से संबंधित लाइनें सम्मिलित करने की आवश्यकता नहीं है, यह फ़ाइल बायनेरिज़ और लाइब्रेरीज़ और ऑटोजेन सामग्री के लिए बेहतर उपयोग की जाती है।

2 - इंटेलीज अपनी परियोजनाओं को अपडेट करता रहता है और अंदर की फाइलें .ideaजेबी से हर महत्वपूर्ण रिलीज को बदलता रहता है । इसका मतलब यह है कि हमें अपने .gitignoreअनुसार अपडेट रखना होगा जो समय का एक आदर्श उपयोग नहीं है।

3 - Intellij में त्रुटिपूर्ण पैटर्न है, अधिकांश संपादक एटम, VS कोड, एक्लिप्स ... कोई भी अपनी IDE सामग्री को प्रोजेक्ट रूट के अंदर संग्रहीत नहीं करता है। जेबी अपवाद नहीं होना चाहिए। यह Jetbrains के साथ उन फ़ाइलों को प्रोजेक्ट रूट के बाहर ट्रैक रखने के लिए है। उन्हें वीसीएस रूट को प्रदूषित करने से बचना होगा। यह दृष्टिकोण बस यही करता है। .ideaफ़ोल्डर के बाहर रखा जाता हैPROJECT_ROOT

उम्मीद है की यह मदद करेगा।


1
यह जवाब पूरी तरह से भ्रामक है। /.ideaमें, .ignignore ठीक काम करता है; आमतौर पर इस कमांड के बाद समस्या हल हो जाएगी:git rm --cached -r .idea
होसेएनजेएफ

/.ideaकाम नहीं, आप अन्य जवाब और जेबी की ओर से आधिकारिक दिशा निर्देशों भी जांच कर सकते हैं करता है
nehem

-4
  • .Idea फ़ोल्डर निकालें

    $rm -R .idea/
    
  • नियम जोड़ें

    $echo ".idea/*" >> .gitignore
    
  • कमिट। .ignignore फ़ाइल

    $git commit -am "remove .idea"
    
  • अगला कमिट ठीक होगा


7
विचार फ़ोल्डर को अनदेखा करना ठीक है क्योंकि हर कोई उनका उपयोग नहीं करता है, और वे आपके कोड का हिस्सा नहीं हैं - उदाहरण के लिए, आपको (उम्मीद है) उन्हें उत्पादन की आवश्यकता नहीं है।
टॉम एंडरसन

1
अनदेखी करना ठीक है, लेकिन हटाना एक अच्छे विचार से कम है। इसमें आपके स्थानीय कार्यक्षेत्र की जानकारी होती है।
फू

मुझे आश्चर्य है कि यह नीचे मतदान है। यहाँ सबसे अच्छा जवाब हो!
ह्यूगो राफेल अजेवेदो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.