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
juste .idea/
fonctionne bien pour moi
Essayez git rm -r --cached .idea
dans votre terminal. Il désactive le suivi des modifications.
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. :
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.
Ajoutez .idea/*
à votre liste d’exclusion pour empêcher le suivi de tous les fichiers .idea, répertoires et sous-ressources.
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
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.
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é
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.
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.
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!
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.
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
JetBrains a un .gitignore_global
sur GitHub .
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 :)
Qu'en est-il de .idea/*
? N'a pas testé, mais il devrait le faire
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
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: