
Comme pour de nombreux développeurs, le dossier .idea dans Android Studio a toujours été comme une boîte noire pour moi: je savais qu'il existait, je savais qu'il était toujours ajouté à .gitignore, mais j'ai décidé de savoir pourquoi ils en avaient besoin. ou d'autres fichiers et dossiers, afin d'avoir la possibilité de gérer les conflits git qui surviennent parfois, et afin de savoir exactement quel fichier peut être ajouté en toute sécurité à .gitignore et lequel ne l'est pas.
Je l'ai compris sur l'exemple du projet sur lequel je travaille. Et j'ai décidé de partager le résultat de ce que j'ai découvert, car Je n'ai trouvé aucune documentation à ce sujet.
indique le chemin à ajouter à .gitignore
indique le chemin d'accès qu'Android Studio a déjà ajouté à .gitignore
, et vous ne devez pas le .gitignore
.
indique le chemin que vous devez stocker dans git.
assetWizardSettings.xml
Ce fichier stocke la dernière icône ajoutée à l'aide de l'interface Android Studio. Il peut être retiré en toute sécurité de VCS.

caches
Les caches, comme son nom l'indique, peuvent être ajoutés en toute sécurité à .gitignore
.
Je ne vois aucune raison de le conserver dans VCS, mais par défaut, ce dossier n'est pas ajouté à .gitignore
.
caches / build_file_checksums.ser
En fait, ce fichier est une instance sérialisée de ProjectBuildFilesChecksums .
Le fichier est nécessaire pour vérifier si build.gradle
, settings.gradle
, local.properties
, ~/.gradle/gradle.properties
, gradle.properties
ou les fichiers build.gradle
de vos modules ont build.gradle
.
Android Studio utilise ce fichier pour vous indiquer que vous devez synchroniser les fichiers Gradle.
codeStyles
Ce dossier contient les paramètres de style de code de projet. Il est utile de le versionner si vous avez modifié les styles de code par défaut.
dictionnaires
Le dossier contient l'entrée que vous avez ajoutée au dictionnaire pour vérifier le code. Ce dictionnaire est important si vous avez des règles strictes dans votre système CI.
gradle.xml
Je recommande de supprimer ce fichier de git. Il peut contenir le chemin d'accès local à votre version de gradle, ainsi que le chemin d'accès à votre module. Par exemple, vous pouvez développer un module dans un référentiel séparé, de sorte que le chemin d'accès au module peut être spécifique à chaque utilisateur.
Pour toutes ces raisons, je supprime définitivement le fichier gradle.xml
de VCS.
inspectionProfiles
Ce dossier contient des règles Lint spécifiques à votre projet. Par conséquent, tout comme le dossier dictionaries
, il doit être stocké dans git.
bibliothèques
Il contient un fichier qui indique où les fichiers jar de vos bibliothèques sont stockés. Étant donné que le chemin de téléchargement peut être spécifique à chaque utilisateur, vous ne devez pas stocker ce dossier dans VCS.
misc.xml
Le fichier contient des informations sur le projet: version Java, type de projet, etc.
Ces informations se rapportent au projet et ne dépendent pas de l'utilisateur. Par conséquent, il doit être stocké dans git.
modules.xml
Ce fichier contient les chemins d'accès aux fichiers .iml
de vos modules. Par conséquent, par analogie avec gradle.xml
il ne peut pas être stocké dans git.
navEditor.xml
C'est là que vos éléments sont stockés dans l' éditeur de navigation . Si ces informations sont pertinentes pour votre projet, vous devez enregistrer ce fichier dans git. Sinon, n'hésitez pas à l'ajouter à .gitignore
pour éviter de futurs conflits.
runConfigurations.xml
Le nom du fichier peut vous indiquer qu'il contient des configurations que vous pouvez ajouter en cliquant sur "Modifier les configurations". Ce fichier doit être stocké dans VCS.

vcs.xml
Ce fichier contient des informations sur VCS que vous utilisez dans votre projet. Il est utilisé pour que vous puissiez utiliser l'interface graphique pour effectuer des opérations de contrôle de version. Cela vaut également la peine d'être ajouté à git.
workspace.xml
Il contient des informations sur votre espace de travail dans Android Studio. Par exemple, la dernière position du curseur sur le fichier que vous ouvrez. Il s'agit donc définitivement d'informations utilisateur qu'il n'est pas nécessaire de stocker dans git.
Résumé
Je vous suggère d'ajouter seulement trois lignes au fichier .gitignore
par défaut:
/.idea/assetWizardSettings.xml /.idea/gradle.xml /.idea/caches # Uncomment next line if keeping position of elements in Navigation Editor is not relevant for you # /.idea/navEditor.xml
Comme je l'ai dit au début de cet article, je n'ai trouvé aucune documentation sur le contenu du dossier .idea
, donc l'article peut être incomplet et / ou .idea
100%. Si vous savez autre chose qui ne figure pas dans cet article, écrivez-le dans les commentaires.