205 votes

Rubymine : Comment faire en sorte que Git ignore les fichiers .idea créés par Rubymine.

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

Nous avons déjà ajouté .idea/ a .gitignore mais il continue à suivre les changements dans .idea . Comment dois-je procéder de la bonne manière ?

Voici l'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

10 votes

Peut-être que vous avez déjà commis ; vous devez git rm ; ajoutez-le à ignorer.

344voto

Petr Syrov Points 156

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

2 votes

Merci beaucoup ! Mais pourquoi est-il dans le cache après avoir vérifié un dépôt totalement vide ?

1 votes

Merci, extrêmement utile. Je l'ai utilisé pour supprimer les fichiers, puis j'ai ajouté .idea au gitignore et cela a fonctionné à merveille. Merci beaucoup !

0 votes

Cela ne fonctionne pas vraiment lorsque le dossier .idea est déjà en cours de suivi.

287voto

the_joric Points 4755

Juste .idea/ fonctionne bien pour moi

5 votes

Salut ! tu veux nous en dire plus sur comment tu fais...ça ne marche pas pour moi ? :(

0 votes

Git fonctionne un peu différemment. Voir le page de manuel git pour plus d'informations.

0 votes

Cela fonctionne, mais pas pour les sous-dossiers. Par exemple, j'ai 2 projets sous le même Git et ne bloque aucun d'entre eux à moins que j'ajoute 2 lignes "FolderA/.idea/" et "FolderB/.idea/".

43voto

Daryn Points 1666

Notez que JetBrains recommande "Si vous décidez de partager les fichiers du projet IDE avec d'autres développeurs...", en suivant tous les fichiers de l .idea/* fichiers sauf pour ce qui suit :

  • espace de travail.xml
  • utilisation.statistiques.xml
  • tâches.xml
  • l'étagère/le répertoire

Pour suivre leur conseil, vous devez donc les ajouter à votre fichier .gitignore.


Source :

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

  • Tous les fichiers sous le répertoire .idea dans le projet Racine sauf le site espace de travail.xml , utilisation.statistiques.xml et tâches.xml et les fichiers étagère répertoire qui stocke les paramètres spécifiques de l'utilisateur
  • ...

Comment gérer des projets sous des systèmes de contrôle de version ( archives )

Il y a quelques notes et discussions supplémentaires sur cette page que vous devriez lire si vous envisagez d'aller de l'avant avec cela,
y compris fichiers supplémentaires que vous pouvez vouloir gitignore même si vous avez décidé de partager les fichiers de l'IDE (par exemple, les fichiers .iml, .idea/modules.xml, gradle.xml, le dossier des dictionnaires utilisateur, les fichiers supplémentaires générés par gradle ou maven).

13 votes

Bien que je sois d'accord avec cette réponse [+1 pour la justesse], je piense en Les équipes qui ne sont pas strictes en matière d'IDE et autres peuvent s'en sortir en ne vérifiant pas l'existence d'un code d'accès. .idea dossier du tout... Cela n'a jamais eu de sens pour moi de toute façon, les fichiers qui s'y trouvent sont toujours en conflit pour des raisons qui n'ont aucun sens.

7 votes

C'est une mauvaise pratique de livrer des fichiers spécifiques à l'IDE. L'une des raisons est que différents développeurs peuvent utiliser différents outils. Une autre raison est que ces fichiers peuvent contenir une configuration spécifique à l'utilisateur qui sera en conflit tout le temps.

3 votes

Cette recommandation est une mauvaise pratique. L'utiliser dans un projet est la meilleure façon de versionner des fichiers qui contiennent des informations spécifiques à l'utilisateur comme le chemin absolu... Il suffit de regarder dans votre .idea avant de suivre cette reco.

30voto

appsmatics Points 91

Si un fichier est déjà suivi par Git, ajouter le fichier à .gitignore n'empêchera pas Git de le suivre. Vous devrez d'abord faire git rm pour le(s) fichier(s) en question, puis l'ajouter à votre .gitignore.

L'ajout de .idea/ devrait fonctionner

0 votes

Ceci devrait être la réponse la plus complète !

29voto

Perception Points 42290

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X