web-dev-qa-db-fra.com

comment faire que Git ignore les fichiers .idea créés par Rubymine

J'utilise Rubymine pour Rails projets. Très souvent, Rubymine apporte des modifications dans les fichiers .idea/* dont je ne me soucie pas. Mais cela m'empêche de vérifier de nouvelles branches et rend ma version de .idea/ différente de celle de mes collègues.

Nous avons déjà ajouté .idea/ à .gitignore, mais il conserve le suivi des modifications dans .idea. Comment devrais-je le faire de la bonne façon?

Vous trouverez ci-dessous un des messages d'erreur typiques que j'ai reçus:

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

juste .idea/ fonctionne bien pour moi

218
the_joric

Essayez git rm -r --cached .idea dans votre terminal. Il désactive le suivi des modifications.

283
Petr Syrov

Notez que JetBrains recommande "Si vous décidez de partager IDE fichiers du projet avec d'autres développeurs ...", suivez tous les fichiers .idea/* à l'exception des trois fichiers suivants. :

  • workspace.xml
  • utilisation.statistiques.xml
  • tasks.xml

Donc, pour suivre leurs conseils, vous ajouteriez ces 3 fichiers à votre .gitignore.


Source:

Si vous décidez de partager IDE fichiers de projet avec d'autres développeurs, suivez ces instructions:
...
Voici ce que vous devez partager:

  • Tous les fichiers du répertoire .idea à la racine du projet à l’exception de du workspace.xml , utilisation.statistiques.xml et fichiers tasks.xml qui stocke les paramètres spécifiques à l'utilisateur
  • ...

Comment gérer des projets sous Version Control Systems ( archive )

Il y a quelques notes supplémentaires sur cette page à propos des autres fichiers à gitignore pour différents IDE et builds spécifiques de jetbrains.

38
Daryn

Ajoutez .idea/* à votre liste d’exclusion pour empêcher le suivi de tous les fichiers .idea, répertoires et sous-ressources.

26
Perception

si un fichier est déjà suivi par Git, son ajout à .gitignore n’empêchera pas Git de le suivre. Vous devez d'abord vérifier le ou les fichiers incriminés, puis les ajouter à votre fichier .gitignore.

Ajouter .idea/devrait fonctionner

22
appsmatics

utiliser git rm -r --cached .idea dans votre terminal a très bien fonctionné pour moi. Il désactive le suivi des modifications et supprime un certain nombre de fichiers du dossier rubymine (idea /) que je pourrais ensuite ajouter et valider pour git, supprimant ainsi la comparaison et permettant au paramètre gitignore de .idea/ de fonctionner.

19
GMarx

Fermer PHP Storm dans le terminal aller au type de dossier du projet

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

Ensuite, allez dans le dossier du projet et supprimez le dossier .idea

Sudo rm -r .idea/

Lancez PhpStorm et vous avez terminé

13
Gustavo Maimone

Dans le gui de rubymine, il y a une liste à ignorer (paramètres/contrôle de version). Peut-être essayez-vous de le désactiver ici. J'ai eu l'allusion de leurs gars de soutien.

enter image description here

12
manavortex

Ajoutez .idea à ~/.gitignore_global et suivez les instructions pour que .gitignore_global fonctionne:

Git global ignore ne fonctionne pas

Ensuite, vous ne devez jamais l'ajouter à un fichier .gitignore individuel.

9
fosrias

J'ai essayé d'ajouter ces fichiers dans mon .gitignore et c'était inutile ...

Néanmoins, comme Petr Syrov a dit, vous pouvez utiliser git rm -r --cached .idea dans votre terminal et ces fichiers ne seront plus un problème!

4
frisinacho

Je suggère de lire le page de manuel git pour bien comprendre comment ignorer le travail, et à l’avenir, vous me remercierez;)

Pertinent par rapport à votre problème:

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
Steve Benner

Pour moi, il n'y avait qu'une seule solution pour supprimer le dossier .idea, à savoir le fichier de validation .gitignore avec ".idea", puis utiliser à nouveau IDE

4
Ivan Petkevich

JetBrains a un .gitignore_globalsur GitHub .

3
Jeff Wolski

Vous pouvez utiliser gitignore pour la génération avancée de fichiers gitignore. C’est rapide, facile et précis Les étiquettes de bord sont automatiquement générées pour vous.

Utilisez ce lien pour la plupart des logiciels de jetbrains ( intelij , phpstorm .. .) fichier jetbrains .gitignore

[edit]

Vous trouverez ci-dessous le fichier gitignore généré pour les logiciels Jetbrains. Cela vous évitera de partager des informations sensibles (mots de passe, magasins de clés, mots de passe de base de données, etc.) utilisées par l'un des logiciels Jetbrains pour gérer les projets.

# 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

Le code généré est également bien commenté. espérons que cela aide :)

3
Williem

Qu'en est-il de .idea/*? N'a pas testé, mais il devrait le faire

2
ksol

Bien que ce ne soit pas trop long que je sois passé à Rubymine, j'ai trouvé difficile de ne pas tenir compte des fichiers .idea de Rubymine qui avaient été envoyés à git.

voici comment je l'ai corrigé

Si vous n'avez pas fait de préparation/engagement du tout, ou si vous venez d'ajouter un nouveau projet dans Ruby, faites simplement ceci

Option 1

Ajoutez la ligne ci-dessous au fichier .gitignore, qui est généralement placé à la racine de votre référentiel.

# Ignore .idea files
.idea/

Cela garantira que tous les fichiers .idea sont ignorés et ont été suivis par git, même s'ils resteront dans votre dossier de projet localement.

Option 2

Si vous avez cependant effectué un peu de préparation/validation, ou si vous venez d'ouvrir un projet existant dans Ruby mine, faites simplement ceci

Exécutez le code dans votre terminal/ligne de commande

git rm -r --cached .idea

Cela supprime les fichiers .idea déjà suivis dans git

Ensuite, incluez .idea/dans le fichier .gitignore, qui est généralement placé à la racine de votre référentiel.

# Ignore .idea files
.idea/

Cela garantira que tous les fichiers .idea sont ignorés et ont été suivis par git, même s'ils resteront dans votre dossier de projet localement.

Option

Si vous avez cependant effectué un peu de préparation/validation ou que vous venez d'ouvrir un projet existant dans Ruby mine et que vous souhaitez supprimer totalement les fichiers .idea localement et dans git, faites-le simplement

Exécutez le code dans votre terminal/ligne de commande

git rm -r --cached .idea

Cela supprime les fichiers .idea déjà suivis dans git

Exécutez le code dans votre terminal/ligne de commande

rm -r .idea

Cela supprime tous les fichiers .idea, y compris le dossier localement

Ensuite, incluez .idea/dans le fichier .gitignore, qui est généralement placé à la racine de votre référentiel.

# Ignore .idea files
.idea/

Cela garantira que tous les fichiers .idea sont ignorés, qu'ils ont été suivis par git et également supprimés localement de votre dossier de projet.

C'est tout

j'espère que cela aide

1
Promise Preston

Utilisez le plugin . Ignore : https://plugins.jetbrains.com/plugin/7495--ignore

Il gère automatiquement un grand nombre de chemins/modèles et comporte de nombreuses fonctionnalités supplémentaires utiles. C'est compatible avec:

  • IntelliJ IDEA
  • PhpStorm
  • WebStorm
  • PyCharm
  • RubyMine
  • AppCode
  • CLion
  • GoLand
  • DataGrip
  • Cavalier
  • MPS
  • Studio Android
1
Mir-Ismaili