web-dev-qa-db-fra.com

Quels fichiers du dossier .idea doivent être suivis par Git?

Contrairement à Netbeans, dans les IDE Jetbrains, les fichiers de paramètres relatifs à l'utilisateur et à l'équipe sont mélangés dans le même dossier, ce qui complique la tâche lorsque vous devez les envoyer à git. 

Il existe plusieurs exemples de fichiers ignorés par git pour ces IDE et https://intellij-support.jetbrains.com/hc/articles/206544839 page sur le site git. 

Cependant, après les avoir utilisés pendant un mois, nous nous rendons compte qu'il est plus sûr et plus pratique de faire l'inverse. Je veux dire ignorer tous les fichiers .idea et ajouter explicitement uniquement les paramètres liés aux équipes. (au lieu d’ajouter tout et d’ignorer certains). 

La principale chose qui peut être partagée entre les développeurs est la configuration de style de code. Donc, en utilisant l’option IDE de reformatage automatique, toute l’équipe suivra un style cohérent. 

À côté de cela, la question est de savoir quels autres fichiers sont inclus pour être inclus non ignorés? Pourquoi?

réponse: je suis venu avec ceci: https://github.com/salarmehr/idea-gitignore

18
PHPst

Après une enquête, je suis arrivé avec le fichier .idea/.gitignore suivant:

# ignore all .idea files ...
*
# except  ...

# Version Control configuration
!vcs.xml

# how IDEA should treat the text files
!encodings.xml

# automatic code formatting
!codeStyleSettings.xml

# project specific words
!dictionaries

!copyrights
!misc.xml
!sqldialects.xml

Les fichiers ci-dessus doivent être pratiquement identiques pour tous les membres de l'équipe.

réponse: je suis venu avec ceci: https://github.com/salarmehr/idea-gitignore

5
PHPst

Jetbrains a des indications officielles sur quels fichiers ne devrait pas être archivés, et quels fichiers ne devrait probablement pas l'être être archivés, selon votre utilisation. Selon cette page, vous devriez archiver tous les fichiers du répertoire .idea sauf:

  • workspace.xml
  • tasks.xml

Et probablement aussi:

  • les fichiers xml du sous-répertoire dictionary

Bien que la réponse particulière puisse dépendre des pratiques particulières de votre équipe, d'après mon expérience, le respect de ces instructions permet généralement une séparation correcte des paramètres utilisateur et une configuration de projet partagée.

Quelques exemples de fichiers qui devraient être partagés, conformément à ces instructions:

  • ant.xml, qui, si vous utilisez Ant pour construire votre projet, pointe IDEA sur vos fichiers de construction et configure les propriétés à utiliser pour la construction.
  • vcs.xml, qui spécifie la configuration du contrôle de version pour votre projet
  • encodings.xml, qui spécifie comment IDEA doit traiter les fichiers texte de votre projet
  • modules.xml, qui pointe IDEA vers chacun des fichiers de configuration de module de votre projet, qui doivent également être partagés dans votre VCS.
  • tous les fichiers du sous-répertoire runConfigurations, qui indique à IDEA ce qu'il faut faire pour exécuter votre application
  • codeStyleSettings.xml qui, comme vous l'avez fait remarquer, met toute votre équipe sur la même page en termes de formatage automatique du code

Selon l'utilisation de votre équipe, il peut y en avoir plus ou moins, mais ce sont quelques-uns des plus grands exemples.

19
Matt Leidholm

Je préfère ne pas archiver le dossier .idea ou les fichiers .iml.

  • Si vous souhaitez partager des styles d'éditeur, utilisez un fichier .editorconfig , les IDE JetBrains les supportant maintenant.
  • Pour d’autres choses, comme les paramètres de construction, vous pouvez vous appuyer sur votre outil de construction, par exemple, utilisez les fichiers de construction maven ou gradle pour effectuer des configurations spécifiques.
  • Évidemment, il y a beaucoup d'autres choses qui ne seront pas couvertes, mais la plupart d'entre elles peuvent être résolues par des conventions bien documentées.
2
ninj

Il est recommandé de ne pas valider tout le dossier .idea car il s’agit de configurations. Comme le fichier *.iml.

Si j'utilise Netbeans au lieu d'Intellij, je ne veux pas de ces fichiers de configuration. C'est inutile et peut-être un peu dangereux pour les conflits.

2
YoannFleuryDev

J'utilise à la fois IDEA et Eclipse, mais pas Netbeans. Je jamais ne valide aucun fichier de projet, mais je m'assure que ma génération est Maven en tant qu'outil principal. Je peux ensuite importer facilement le projet Maven dans n'importe quel IDE avec le support Maven et l'actualisation à partir de Maven une fois que j'ai changé. il. Pour Eclipse et IDEA, cela fonctionne à merveille.

Mon fichier .gitignore ressemble à ceci pour tous mes projets:

# Eclipse
.settings/
.classpath
.project

# IntelliJ IDEA
.idea/
*.iml

# Maven
target/

Plus d'autres fichiers ou répertoires spécifiques au projet.

1
kriegaex