Intellij Idea 9/10, quels dossiers archiver (ou non archiver) dans le contrôle de source?


119

Notre équipe vient de passer de Netbeans à Intellij 9 Ultimate et a besoin de savoir quels fichiers / dossiers doivent typiquement être exclus du contrôle de code source car ils ne sont pas "portables sur une station de travail", c'est-à-dire qu'ils référencent des chemins qui n'existent que sur l'ordinateur d'un utilisateur.

Autant que je sache, Intellij veut ignorer la plupart des projets .idea, y compris

.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml

Cependant, il semble vouloir archiver les .imlfichiers qui existent dans le répertoire racine de chaque module.

J'ai initialement vérifié dans tout le .idearépertoire via la ligne de commande qui n'est évidemment pas consciente de ce qui "devrait" être ignoré par Idea. Le .idearépertoire entier est-il généralement ignoré?

Réponses:


104

Nous avons un article de FAQ couvrant cette question.

[Le format .idea] est utilisé par défaut par toutes les versions récentes de l'EDI. Voici ce que vous devez partager:

  • Tous les fichiers du répertoire .idea à la racine du projet, à l' exception des fichiers workspace.xml et tasks.xml qui stockent les paramètres spécifiques à l'utilisateur
  • Tous les fichiers de modules .iml pouvant être situés dans différents répertoires de modules (s'applique à IntelliJ IDEA)

Soyez prudent lorsque vous partagez les éléments suivants:

  • Artefacts Android qui produisent une version signée (contiendront des mots de passe de keystore)
  • Dans IDEA 13 et antérieures dataSources.ids , datasources.xml peut contenir des mots de passe de la base de données. IDEA 14 résout ce problème .

Vous pouvez envisager de ne pas partager les éléments suivants:

  • Fichiers .iml pour les projets basés sur Gradle ou Maven , car ces fichiers seront générés lors de l'importation
  • fichier gradle.xml , voir cette discussion
  • dossier de dictionnaires utilisateur (pour éviter les conflits si un autre développeur a le même nom)
  • Fichiers XML sous .idea / bibliothèques au cas où ils seraient générés à partir du projet Gradle ou Maven

.idea Le répertoire remplace l'ancien fichier .ipr (Idea Project) et si vous souhaitez partager le projet entre les utilisateurs, vous devez partager le dossier .idea (avec les exceptions mentionnées dans la FAQ) et tous les fichiers .iml.


2
Oui, il est à jour, il n'y a pas eu de changements majeurs dans les fichiers du projet.
CrazyCoder

72
@CrazyCoder (+1) Cela nous faciliterait la vie si vous mettiez les fichiers spécifiques au projet et les fichiers spécifiques à l'utilisateur dans des répertoires séparés.
IJ Kennedy

3
Commenter un fil de discussion ancien, mais l'approche de la FAQ consistant à partager tout le dossier .idea (à l'exception de workspace.xml et de tasks.xml) est problématique car divers fichiers changent entre les machines et entre les sessions. Ce qui me dérange vraiment: Python / Library sur Mac se trouve à deux endroits différents sur différents Mac, donc pycharm.xml abonde.
Matthew Cornell

29
c'est une assez mauvaise excuse pour une FAQ. c'est un gros fil avec les gens qui posent des questions. que diriez-vous d'un exemple .gitignore pour un projet?
Jeffrey Blattman

13
c'est incroyable / impossible qu'il y ait "certains oui, certains non" dans le même dossier --- est-ce toujours la même folie quatre ans plus tard? merci
Fattie


6

Pas de réponse exacte à la question, mais il existe des exemples de fichiers .gitignore disponibles ici, y compris un pour JetBrains qui comprend Intellij.


1
J'aimerais pouvoir voter contre les autres réponses qui n'ont pas de questions. Merci pour une réponse réelle au code source.
bobjones


5

Vous pourriez trouver ce message intéressant: Fusion sur les fichiers IntelliJ IDEA .IPR et .IWS

Il semble conclure que vous devez ajouter tous les fichiers sauf pour: workspace.xml, dataSources.xml, sqlDataSources.xmlet dynamic.xml. La réponse ici est de se concentrer sur les fichiers qui ne changent pas simplement en ouvrant l'éditeur ou en apportant des modifications spécifiques.


4

J'utilise PHPStorm.

Voici un exemple d'extrait de code pour votre .gitignore

# Ignore the following 2 PHPStorm files only workspace and tasks file
**/.idea/workspace.xml
**/.idea/tasks.xml

Tous les autres fichiers du .idearépertoire doivent être validés dans votre référentiel.

par exemple: (valider tout le reste dans le .idearépertoire)

new file:   .idea/.name
new file:   .idea/encodings.xml
new file:   .idea/framework.iml
...

Docs: Comment gérer des projets sous les systèmes de contrôle de version

Voici ce que vous devez partager:

Tous les fichiers sous le répertoire .idea dans la racine du projet à l' exception de workspace.xml et de tasks.xml fichiers qui stockent les paramètres spécifiques à l'utilisateur

Tous les fichiers de modules .iml pouvant être situés dans différents répertoires de modules (s'applique à IntelliJ IDEA)

Donc, fondamentalement, commettez tout sauf workspace.xmlet tasks.xml.


0

Oui je crois bien. Vous pouvez vérifier la configuration SVN pour voir ce qui est ignoré et ajouter tout ce que vous pensez devoir être ignoré.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.