Quels fichiers doivent être dans mon .gitignore
pour un projet Android Studio?
J'ai vu plusieurs exemples qui incluent tous, .iml
mais les documents IntelliJ disent que cela .iml
doit être inclus dans votre contrôle de code source.
git
android-studio
gitignore
respectTheCode
la source
la source
Réponses:
Mise à jour vers Android Studio 3.0 Veuillez partager les éléments manquants dans les commentaires.
Une réponse tardive mais aucune des réponses ici et ici n'était juste pour nous ...
Voici donc notre fichier gitignore:
Depuis Android Studio 2.2 et jusqu'à 3.0, de nouveaux projets sont créés avec ce fichier gitignore:
Obsolète - pour les anciens formats de projet, ajoutez cette section à votre fichier gitignore:
Ce fichier doit se trouver dans le dossier racine du projet et non dans le dossier du module du projet.
Modifier les notes:
Depuis la version 0.3+, il semble que vous puissiez valider et pousser les fichiers * .iml et build.gradle . Si votre projet est basé sur Gradle: dans la nouvelle boîte de dialogue d'ouverture / importation, vous devez cocher la
"use auto import"
case et cocher la case d'option"use default gradle wrapper (recommended)"
. Tous les chemins sont désormais relatifs comme l'a suggéré @George.Réponse mise à jour selon la source jointe @ 128 Ko et les suggestions @Skela
la source
.iml
fichiers à moins que vous ne vouliez pas gérer les ennuis inutiles si d'autres utilisateurs nomment le projet différemment lors de leur extraction.En s'appuyant sur mon .gitignore Android normal , et après avoir lu la documentation sur le site Web Intellij IDEA et lu les articles sur StackOverflow, j'ai construit le fichier suivant:
Notez également que, comme indiqué, la section des fichiers natifs créés est principalement utile lorsque vous créez votre propre code natif avec Android NDK. Si, en revanche, vous utilisez une bibliothèque tierce qui inclut ces fichiers, vous souhaiterez peut-être supprimer ces lignes (* .o et * .so) de votre .gitignore.
la source
.idea/libraries
? Doivent-ils être partagés ou exclus selon vous?Mise à jour 7/2015:
Voici la source définitive de JetBrains
Format de projet basé sur un répertoire (répertoire .idea)
Ce format est utilisé par défaut par toutes les versions récentes d'IDE. Voici ce que vous devez partager:
.idea
répertoire à la racine du projet à l' exception des fichiersworkspace.xml
ettasks.xml
qui stockent les paramètres spécifiques à l'utilisateur.iml
fichiers de module qui peuvent être situés dans différents répertoires de module (s'applique à IntelliJ IDEA)Soyez prudent lorsque vous partagez les éléments suivants:
dataSources.ids
,datasources.xml
peut contenir des mots de passe de base de données. IDEA 14 résout ce problème .Vous pouvez envisager de ne pas partager les éléments suivants:
.idea/libraries
au cas où ils seraient générés à partir du projet GradleFormat de projet hérité (
.ipr
/.iml
/.iws
fichiers).ipr
fichier de projet et tous les.iml
fichiers de module, ne partagez pas le.iws
fichier car il stocke les paramètres spécifiques à l'utilisateurBien que ces instructions soient destinées à IntelliJ IDEA, elles sont vraies à 100% pour Android Studio.
Voici un
.gitignore
extrait qui incorpore toutes les règles ci-dessus:la source
<orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />
Remarquez le nombre 38 qui semble être constamment incrémenté. (le fichier misc.xml a également ce problème).Je suis en désaccord avec toutes ces réponses. La configuration suivante fonctionne très bien pour l'application de notre organisation.
J'ignore:
/build
/.idea
(sauf exceptions possibles, voir les commentaires dans la réponse de dalewking )*.iml
local.properties
Je pense que presque tout le monde est d'accord
/build
.J'en ai assez de voir constamment des messages sur les différents
library.xml
fichiers que Gradle crée ou supprime/.idea
. Lebuild.gradle
s'exécutera sur la section locale des développeurs lors de la première vérification du projet, alors pourquoi ces fichiers XML doivent-ils être versionnés? Android Studio générera également le reste/.idea
lorsqu'un développeur crée un projet en utilisantCheck out from Version Control
, alors pourquoi tout ce qui se trouve dans ce dossier doit-il être versionné?Si le
*.iml
est versionné, un nouvel utilisateur devra nommer le projet exactement le même que lors de sa validation. Puisqu'il s'agit également d'un fichier généré, pourquoi le versionner en premier lieu?Les
local.properties
fichiers pointent vers un chemin absolu sur le système de fichiers pour le SDK, il ne doit donc certainement pas être versionné.Edit 1 : Ajouté
.gradle
pour ignorer les trucs de mise en cache de gradle qui ne devraient pas être versionnés (merci Vasily Makarov ).Edit 2 : Ajouté
.DS_Store
maintenant que j'utilise Mac. Ce dossier est spécifique à Mac et ne doit pas être versionné.Remarque supplémentaire : vous souhaiterez probablement également ajouter un répertoire dans lequel insérer vos clés de signature lors de la création d'une version finale.
Pour la commodité du copier / coller :
la source
build/
au lieu de/build
pour faire correspondre les répertoires de construction du module commeapp/build
. Utilisez.gradle
pour faire correspondre le répertoire de mise en cache des niveaux..gitignore
fichier dans mon répertoire d'application qui contient également/build
. Est-ce généré automatiquement, je ne me souviens pas? S'appliquera doncbuild/
aux sous-dossiers?J'utilise ce .gitignore. Je l'ai trouvé sur: http://th4t.net/android-studio-gitignore.html
la source
Dans le cas d'Android Studio, les seuls fichiers qui doivent être enregistrés dans le contrôle de version sont les fichiers requis pour créer l'application à partir de la ligne de commande à l'aide de gradle. Vous pouvez donc ignorer:
Cependant, si vous enregistrez des paramètres IDE, tels que des paramètres de style de code personnalisé, ils sont enregistrés dans le dossier .idea. Si vous souhaitez ces modifications dans le contrôle de version, vous devez également enregistrer les fichiers IDEA (* .iml et .idea).
la source
Android Studio 3.4
Si vous créez un projet Gradle à l'aide d'Android Studio, le
.gitignore
fichier contiendra les éléments suivants:.gitignore
Je recommanderais d'ignorer le répertoire complet ".idea" car il contient des configurations spécifiques à l'utilisateur, rien d'important pour le processus de construction.
Dossier de projet Gradle
La seule chose qui devrait être dans votre dossier de projet (Gradle) après le clonage du référentiel est cette structure (au moins pour les cas d'utilisation que j'ai rencontrés jusqu'à présent):
Il est recommandé d'archiver les scripts de wrapper gradle (voir ici ).
la source
Mon conseil serait également de ne pas ignorer le dossier .idea.
J'ai importé un projet Eclipse basé sur Git dans Android Studio et cela s'est bien passé. Plus tard, j'ai voulu importer ce projet avec Git (comme la première fois) sur une autre machine avec Android Studio, mais cela n'a pas fonctionné. Android Studio a chargé tous les fichiers mais n'a pas pu "voir" le projet comme un projet. Je n'ai pu ouvrir que des fichiers Git.
Lors de l'importation du projet pour la première fois (d'Eclipse vers Android Studio), mon ancien .gitignore a été remplacé et le nouveau ressemblait à ceci:
J'ai donc essayé d'utiliser un gitignore vide et maintenant ça a marché. L'autre Android Studio pourrait charger les fichiers et le projet. Je suppose que certains fichiers ne sont pas importants
(profiles_settings.xml)
pour Git et l'importation, mais je suis juste content que cela ait fonctionné.la source
C'est le meilleur moyen de générer
.gitignore
via icila source
IL N'EST PAS BESOIN d'ajouter au contrôle de source l'un des éléments suivants:
Vous pouvez donc configurer hgignore ou gitignore en conséquence.
La première fois qu'un développeur clone le contrôle de source peut aller:
C'est tout
PS: Android Studio obtiendra alors, via maven, le plugin gradle en supposant que votre build.gradle ressemble à ceci:
Le studio Android générera le contenu du dossier .idea (y compris le workspace.xml, qui ne devrait pas être sous contrôle de code source car il est généré ) et le dossier .gradle.
Cette approche est compatible avec Eclipse dans la mesure où le contrôle de source ne sait vraiment rien sur Android Studio. Android Studio a juste besoin du build.gradle pour importer un projet et générer le reste.
la source
There is NO NEED
oui, il y a des cas: des modèles de copyright qui doivent être partagés entre les membres de l'équipe, par exemple.Je soutiens la validation du dossier .idea (à l'exclusion de
workspace.xml
ettasks.xml
). Mais je commence à conclure que les fichiers .iml doivent être ignorés.Voici le problème:
Ouvrez un projet dans un répertoire nommé "foo" par exemple et vous obtiendrez foo.iml et que tout va bien. Le problème est que si je renomme simplement le répertoire en foo2 (ou le clone dans un autre nom de répertoire) lorsque vous essayez d'ouvrir le projet dans Android Studio, vous obtiendrez trois choses:
Je ne trouve aucun moyen d'empêcher Android Studio de faire cette génération de fichier iml lorsque le projet est stocké dans un répertoire différent. Les ajouter au contrôle de code source va causer des problèmes. Par conséquent, je pense que nous devrions peut-être ignorer les fichiers * .iml et
.idea/modules.xml
la source
/.idea
et.iml
. Je voudrais savoir pourquoi le.idea
dossier doit être validé.library.xml
fichiers qui continuaient de déclencher des messages. De plus, je ne comprends pas pourquoi je continue de voir des gens dire que les fichiers * .iml devraient être inclus, donc bon point là-bas.Testé avec Android Studio 3.0
Vous devrez peut-être installer le plug- in .ignore .
Vous pouvez générer automatiquement le fichier .gitignore pour Android. Faites un clic droit sur le dossier et suivez
Sélectionnez ensuite Android dans le panneau de gauche et cliquez sur Générer
Android Studio générera un fichier .gitignore qui contient tout le fichier à ignorer.
Tiré de http://menukanows.com/how-to-add-gitignore-file-in-android-project/
la source
Dépend de la façon dont le format de votre projet est géré:
Vous avez deux options:
.idea
répertoire (vous aurez un dossier contenant les fichiers spécifiques au projet).iws
et.ipr
)Réf: http://www.jetbrains.com/idea/webhelp/project.html
Les fichiers validés pour le contrôle de version dépendent des éléments ci-dessus:
workspace.xml
ettasks.xml
.ipr
Fichier de contrôle de version et tous les.iml
fichiers de module, excluez le.iws
fichier car il stocke les paramètres spécifiques à l'utilisateur.Réf: https://intellij-support.jetbrains.com/entries/23393067
la source
Fondamentalement, tout fichier régénéré automatiquement.
Un bon test consiste à cloner votre référentiel et à voir si Android Studio est capable d'interpréter et d'exécuter votre projet immédiatement (en générant ce qui manque).
Sinon, trouvez ce qui manque et assurez-vous qu'il n'est pas ignoré, mais ajouté au dépôt.
Cela étant dit, vous pouvez prendre exemple sur des
.gitignore
fichiers existants , comme celui d' Android .la source
Je suis casher avec l'ajout des fichiers .iml et Intellij sez pour ajouter le dossier .idea mais ignorer .idea / workspace.xml et .idea / tasks.xml, mais qu'en est-il de .idea / bibliothèques /?
Je ne vois pas comment il est logique d'ajouter cela. Il contient une liste de fichiers XML répertoriant les bibliothèques que le projet Android Studio est censé connaître. Celles-ci sont censées provenir à la place des dépendances définies par build.gradle - pas d'un fichier de projet IDE.
Le contenu de l'un de ces fichiers ressemble également à ceci:
Cela n'a aucun sens de commettre cela. Que se passe-t-il si l'utilisateur a spécifié un répertoire d'accueil différent pour gradle, ou s'il utilise une version différente de gradle, le chemin sous
.gradle/caches/artifacts-xxx
va être différent pour lui (c'estartifacts-
-à- dire que le numéro ajouté à la fin se rapportera à la version de version gradle que vous utilisez. ) Ces chemins ne sont pas universels, et pourtant le conseil est de vérifier tout cela?la source
Depuis Android Studio 0.8.4, le
.gitignore
fichier est généré automatiquement lors du démarrage d'un nouveau projet. Par défaut, il contient:la source
Je sais que c'est un vieux sujet et il y a certainement beaucoup d'options, mais je préfère vraiment
gibo
par Simon Whitaker. Il est super simple à utiliser, multiplateforme (mac, * nix et windows), et utilise le dépôt githubgitignore
donc il est (fondamentalement) toujours à jour.Assurez-vous que votre cache local est à jour:
Recherchez la langue / technologie dont vous avez besoin:
Affichez le fichier .gitignore:
Maintenant, ajoutez-le au fichier .gitignore de votre projet:
(Assurez-vous que vous utilisez
>>
pour ajouter au fichier .gitignore de votre projet; un>
le remplacera - comme je l'ai fait plusieurs fois par accident!)Je sais que cela ne répond pas à la question exacte de l'OP, mais en utilisant gibo, vous n'avez plus à penser à la question! .. c'est bien! ;)
la source
Pour avoir une meilleure idée, il vous suffit d'avoir les fichiers suivants
Vous pouvez mettre tout le reste dans le fichier .gitignore. Toutes les modifications apportées à votre application résident principalement dans ces fichiers et dossiers. Le reste que vous voyez dans un projet de base sont des fichiers de construction Gradle ou des fichiers de configuration Android Studio.
Si vous utilisez Android Studio, vous pouvez utiliser «Importer un projet» pour réussir la construction du projet. Alternativement, vous pouvez créer en utilisant la ligne de commande, suivez Création de projets Android avec Gradle .
la source
Il est préférable d'ajouter la liste .gitignore pendant le temps de développement pour éviter un effet secondaire inconnu lorsque le contrôle de version ne fonctionnera pas pour une raison quelconque en raison de la liste prédéfinie (copier / coller) quelque part. Pour l'un de mes projets, la liste des ignorés est uniquement de:
la source
Github gère des éléments gitignore utiles pour différents types de projets. Voici la liste des éléments gitignore utiles pour les projets Android.
Android Gitignore dans github
la source
Je fusionne les fichiers Github .gitignore
Veuillez lire: Support JetBrains: Comment gérer les projets sous les systèmes de contrôle de version
la source
En utilisant l'API fournie par gitignore.io , vous pouvez obtenir est généré automatiquement. Voici le lien direct aussi gitignore.io/api/androidstudio
la source
Depuis Android Studio 0.8.4, le fichier .gitignore est généré automatiquement lors du démarrage d'un nouveau projet. Par défaut, il contient:
Je suis d'accord avec cette déclaration, mais je modifie ce fichier pour changer / build en build / (Cela inclura / build et / app / build) Donc je ne me retrouve pas avec tous les fichiers dans app / build dans mon référentiel.
Notez également que si vous importez un projet depuis Eclipse, le .gitignore ne sera pas copié, ni créé "automatiquement" pour vous.
la source
Compilation:
la source
Pour contourner l'importation de tous les fichiers, où Android Studio ignore la liste "Fichiers ignorés", mais utilise toujours Android Studio VCS, j'ai fait ce qui suit: Cela utilisera la liste "Fichiers ignorés" d'Android Studio (après l'importation! Pas pendant) ET évitez d'avoir à utiliser la manière encombrante Tortoise SVN définit la liste svn: ignore.
À l'avenir, "Fichiers ignorés" sera ignoré et vous pourrez toujours gérer VCS depuis Android Studio.
Santé, -Joost
la source
Android Studio 3.5.3
J'utilise ceci pour mes bibliothèques et projets et il couvre la plupart des fichiers générés par Android Studio et d'autres outils célèbres:
la source
Ceci est créé en utilisant la référence de http://gitignore.io/ où vous pouvez créer le dernier fichier gitignore mis à jour pour n'importe quel projet. Pour Android http://gitignore.io/api/androidstudio . J'espère que cela t'aides. Actuellement, j'utilise Android Studio 3.6.3
la source
Cette documentation officielle du support JetBrains indique que les éléments suivants doivent être inclus:
Il donne également d'autres recommandations de choses à faire attention.
la source
.gitignore de la bibliothèque AndroidRate
la source
https://github.com/github/gitignore est une collection impressionnante
Android.gitignore
la source