Git को अनदेखा कैसे करें। Rubymine द्वारा बनाई गई .idea फाइलें


184

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

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

नीचे एक विशिष्ट त्रुटि संदेश है जो मुझे मिला:

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

9
शायद आपने पहले से ही कॉमेडी की हो; आपको rm git करने की आवश्यकता है; इसे अनदेखा करने के लिए जोड़ें।
Kaan Yy

जवाबों:


255

बस .idea/मेरे लिए ठीक काम करता है


5
नमस्ते! हमें और बताएं कि आप इसे कैसे करते हैं ... मेरे लिए काम नहीं कर रहा है? :(
योनीगीक

Git इससे थोड़ा अलग काम करता है। अधिक जानकारी के लिए git मैन पेज देखें ।
स्टीव बेनर

4
@ ब्रैडबर्ड मैंने अभी इसकी कोशिश की - सबफ़ोल्डर्स के लिए भी काम करता है। इसके अलावा आप कोशिश कर सकते हैं**/.idea/
the_joric

21
समस्या का एक हिस्सा यह है कि यदि आपने पहले ही अपना सामान बंद कर दिया है, तो .ignignore मदद नहीं करेगा।
दान रोसेनस्टार्क

12
लेकिन अगर आप उनके द्वारा जोड़े / चेक किए जाने के बाद फ़ाइलों / फ़ोल्डरों को अनदेखा करना चाहते हैं, तो आपको उन्हें "git rm -r --cached web / uploads" से हटाना होगा (इस उदाहरण में मैंने "web / uploads" फ़ोल्डर को .gigign पर जोड़ा है। फ़ाइल की जाँच के बाद वे) स्रोत: help.github.com/articles/ignoring-files
Dung

310

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


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

1
धन्यवाद, अत्यंत उपयोगी। इसका इस्तेमाल तब फाइलों को हटाने के लिए किया जाता है। Gitignore में .idea और इसने बहुत अच्छा काम किया। आपको बहुत - बहुत धन्यवाद!
टिम आर।

यह वास्तव में काम नहीं करता है जब .idea फ़ोल्डर पहले से ही ट्रैकिंग के अधीन है
ACV

इसलिए यदि फ़ोल्डर को पहले से ही Git में ट्रैक किया जा रहा है, .idea / .itignore को जोड़ने से Git इसे ट्रैक करने से नहीं रोकेगा। आपको पहले "git rm -r --cached .idea" करने की आवश्यकता होगी, फिर अपने .itignore में .idea / जोड़ें। यह मेरे लिए बहुत अच्छा होगा।
सैम ००३

41

ध्यान दें कि JetBrains "यदि आप अन्य डेवलपर्स के साथ IDE प्रोजेक्ट फ़ाइलों को साझा करने का निर्णय लेते हैं ..." की अनुशंसा करते हैं, तो निम्न.idea/* फ़ाइलों को छोड़कर सभी फ़ाइलों को ट्रैक करें :

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

तो उनकी सलाह का पालन करने के लिए, आप उन 3 फाइलों को अपने .gitignore में जोड़ देंगे।


स्रोत:

यदि आप अन्य डेवलपर्स के साथ IDE प्रोजेक्ट फ़ाइलों को साझा करने का निर्णय लेते हैं, तो इन दिशानिर्देशों का पालन करें:
...
यहां आपको साझा करने की आवश्यकता है:

  • परियोजना जड़ में .idea निर्देशिका के अंतर्गत सभी फ़ाइलें छोड़कर workspace.xml , usage.statistics.xml , और tasks.xml फ़ाइलें जो उपयोगकर्ता की दुकान विशिष्ट सेटिंग
  • ...

संस्करण नियंत्रण प्रणाली के तहत परियोजनाओं का प्रबंधन कैसे करें ( संग्रह ) के

उस पृष्ठ पर कुछ अतिरिक्त नोट हैं जिनके बारे में अन्य फाइलें विभिन्न विशिष्ट जेटब्रेक आईडीई और बिल्ड के लिए gitignore में हैं।


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

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

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

1
जबकि मैं इस बात से सहमत हूँ कि आँख बंद करके आईडीई फाइल करना हमेशा एक बुरा विचार है, क्योंकि आँख बंद करके किसी भी चीज़ का गलत विचार करना गलत है। कुछ परिस्थितियों में IDE फ़ाइलें साझा करना अच्छी तरह से काम कर सकता है। यह वैचारिक रूप से कंटेनर ऑर्केस्ट्रेशन फ़ाइलों को साझा करने के समान है जिसमें वे अनुप्रयोगों को चलाने का एक तरीका हैं। जैसे आईडीई फाइलें परियोजना को विकसित करने का एक तरीका है और इसमें उपयोगी परिभाषाएं हो सकती हैं जैसे कि यूनिट परीक्षण या कोड कवरेज कमांड कैसे चलाएं, एक विशिष्ट आईडीई के लिए बड़े करीने से लिपटे। अधिकांश .ideaफाइलें (PyCharm में कम से कम) साझा करने के लिए डिज़ाइन की गई हैं।
सैमुअल हैमर

26

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


24

यदि फ़ाइल पहले से ही Git द्वारा ट्रैक की जा रही है, तो .itignore में फ़ाइल को जोड़ने से Git इसे ट्रैक करने से नहीं रोकेगा। आपको सबसे पहले अपमानजनक फ़ाइल (s) को git rm करने की आवश्यकता होगी, फिर अपने .gitignore में जोड़ें।

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


यह अधिक व्यापक उत्तर होना चाहिए!
Sam003

21

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


13

टर्मिनल में बंद PHP स्टॉर्म प्रोजेक्ट फ़ोल्डर प्रकार पर जाएं

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

फिर प्रोजेक्ट फोल्डर में जाएं और फोल्डर को हटा दें

sudo rm -r .idea/

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


12

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

यहां छवि विवरण दर्ज करें



8

हालांकि यह बहुत लंबा नहीं है कि मैंने रुबाइन को स्विच किया, मैंने इसे अनदेखा करना चुनौतीपूर्ण पाया। रुबाइमीन की फाइलों को जीआईटी के लिए प्रतिबद्ध किया गया है।

यहां मैंने इसे कैसे तय किया

यदि आपने कोई मंचन / प्रतिबद्ध नहीं किया है, या आपने बस रूबी खदान में एक नई परियोजना शुरू की है, तो बस यह करें

विकल्प 1

.Gitignore फ़ाइल के नीचे दी गई पंक्ति को जोड़ें, जिसे आमतौर पर आपकी रिपॉजिटरी के रूट पर रखा जाता है।

# Ignore .idea files
.idea/

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

विकल्प 2

यदि आपने हालांकि कुछ मंचन / प्रतिबद्ध किया है, या आपने रूबी खदान में एक मौजूदा परियोजना खोली है, तो बस यह करें

अपने टर्मिनल / कमांड लाइन में कोड चलाएँ

git rm -r --cached .idea

यह पहले से ही हटाए गए .idea फ़ाइलों को git में हटा देता है

इसके बाद, .idea / .gitignore फ़ाइल को शामिल करें, जिसे आमतौर पर आपकी रिपॉजिटरी के मूल में रखा जाता है।

# Ignore .idea files
.idea/

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

विकल्प 3

यदि आपने हालांकि कुछ स्टेजिंग / कमिट किया है, या आपने बस रूबी खदान में एक मौजूदा परियोजना खोली है, और स्थानीय रूप से और git में .idea फ़ाइलों को पूरी तरह से हटाना चाहते हैं, तो बस ऐसा करें।

अपने टर्मिनल / कमांड लाइन में कोड चलाएँ

git rm -r --cached .idea

यह पहले से ही हटाए गए .idea फ़ाइलों को git में हटा देता है

अपने टर्मिनल / कमांड लाइन में कोड चलाएँ

rm -r .idea

यह स्थानीय रूप से फ़ोल्डर सहित सभी .idea फ़ाइलों को हटा देता है

इसके बाद, .idea / .gitignore फ़ाइल को शामिल करें, जिसे आमतौर पर आपकी रिपॉजिटरी के मूल में रखा जाता है।

# Ignore .idea files
.idea/

यह सुनिश्चित करेगा कि सभी .idea फ़ाइलों को git द्वारा ट्रैक किया गया है, और स्थानीय स्तर पर आपके प्रोजेक्ट फ़ोल्डर से हटा दिया गया है।

बस इतना ही

आशा है कि ये आपकी मदद करेगा


4

मेरे लिए हटाने के लिए केवल एक ही उपाय था। कमिट फ़ाइल की तुलना में .idea फोल्डर। ".idea" के साथ .ignignore और फिर से IDE का उपयोग करने के लिए।


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

4

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

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

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.

4

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

इस लिंक का उपयोग अधिकांश जेटब्रिज सॉफ्टवेयर्स ( इंटेलीज , पीएचस्टॉर्म ...) जेटब्राइन्स .gitignore फाइल के लिए करें।

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

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

# 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

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


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

@Himanshu लिंक gitignore फाइलों के खोज इंजन के लिए है। आपको क्या सुझाव है कि इसे पोस्ट से कॉपी किया जाना चाहिए?
दान डी।

4

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

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



2

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


1

.Ignore प्लगइन का उपयोग करें : https://plugins.jetbrains.com/plugin/7495--ignore

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

  • इंटेलीज आईडिया
  • PhpStorm
  • WebStorm
  • PyCharm
  • RubyMine
  • AppCode
  • Clion
  • Goland
  • DataGrip
  • सवार
  • एमपीएस
  • Android स्टूडियो

0

यदि आपने पहले ही एक प्रारंभिक कमिट कर दिया है और आपके पास .idea फाइलें नई फ़ाइलों के रूप में दिखाई दे रही हैं, तो आपको पहले फ़ाइलों को हटाने और फिर उन्हें करने की आवश्यकता होगी। निम्नलिखित कदम चाल करेंगे

 1. git rm --cached -r .idea/
 2. Add .idea/ to **.git/info/exclude** or **.gitignore**
 3. git commit -m 'ignore .idea/ files'

इसे यहाँ इस लिंक में विस्तार से बताया गया है: https://devconnected.com/how-to-clear-git-cache/

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