Was sollte in meinem .gitignore für ein Android Studio-Projekt sein?

1255

Welche Dateien sollten sich .gitignorefür ein Android Studio-Projekt in meinem befinden ?

Ich habe mehrere Beispiele gesehen, die alle enthalten, .imlaber IntelliJ-Dokumente sagen, dass .imldiese in Ihrer Quellcodeverwaltung enthalten sein müssen.

respektiere den Code
quelle
7
github.com/github/gitignore
Yousha Aleayoub

Antworten:

1330

Auf Android Studio 3.0 aktualisiert Bitte teilen Sie fehlende Elemente in Kommentaren mit.

Eine späte Antwort, aber keine der Antworten hier und hier war genau das Richtige für uns ...

Also, hier ist unsere Gitignore-Datei:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
.navigation
captures/
output.json 

#NDK
obj/
.externalNativeBuild

Seit Android Studio 2.2 und bis 3.0 werden mit dieser Gitignore-Datei neue Projekte erstellt:

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
.externalNativeBuild

Veraltet - Fügen Sie für ältere Projektformate diesen Abschnitt Ihrer Gitignore-Datei hinzu:


/*/out
/*/*/build
/*/*/production
*.iws
*.ipr
*~
*.swp

Diese Datei sollte sich im Stammordner des Projekts und nicht im Modulordner des Projekts befinden.

Anmerkungen bearbeiten:

  1. Seit Version 0.3+ können Sie anscheinend * .iml- und build.gradle- Dateien festschreiben und pushen . Wenn Ihr Projekt auf Gradle basiert: Im neuen Dialogfeld zum Öffnen / Importieren sollten Sie das Kontrollkästchen "use auto import"aktivieren und das Optionsfeld markieren "use default gradle wrapper (recommended)". Alle Pfade sind jetzt relativ, wie von @George vorgeschlagen.

  2. Aktualisierte Antwort gemäß @ 128KB angehängter Quelle und @ Skela-Vorschlägen

Lior Iluz
quelle
8
Warum müssen wir das Projekt importieren und manuell Bibliotheken und Modulabhängigkeiten hinzufügen? Gibt es eine Möglichkeit, diese Dinge im Repo zu erhalten, und wenn wir das Repo klonen, öffnen Sie einfach ein Projekt?
Justin
13
Der richtige Weg, dies zu tun, besteht darin, die Dateien * .iml und * .ipr einzuchecken und sie einfach in der IDE zu öffnen. Warum andere Personen in Ihrem Team zwingen, diese Dateien neu zu erstellen, und warum dürfen sie möglicherweise falsche Einstellungen verwenden (z. B. SDK-Version)?
Sky Kelsey
26
@liorry, ich bin anderer Meinung. Dies ist die erste Antwort, die andere Leute sehen werden, und sie wird massiv hochgestimmt. Aufgrund all der Dinge, die Sie tun müssen, um ein Projekt nach einem neuen Klon von git mit diesem speziellen .gitignore zum Laufen zu bringen, bin ich der festen Überzeugung, dass dies nicht das ist, was die meisten Leute brauchen würden. Ich denke zwar, dass die Anzahl der Up-Votes mir etwas anderes sagt, aber ich stimme immer noch nicht zu. Zumindest einige Informationen, die besagen, dass Sie das Projekt höchstwahrscheinlich erneut einrichten müssen und es nicht sofort funktioniert.
Skela
10
@liorry, ich will nicht unhöflich sein oder irgendetwas Kumpel, bitte nimm es nicht persönlich. Das Problem ist, dass diese Dinge mit minimalem Setup-Aufwand funktionieren müssen, um von praktischem Nutzen zu sein. Wenn Sie das Projekt importieren und Modulabhängigkeiten manuell hinzufügen müssen, wird es sofort zu einem Wahnsinnsbereich. Wenn Sie mit einem Projekt vertraut sind und diese Dinge genau kennen, gibt es kein Problem mit Ihrem Ansatz. Aber für einen Entwickler, der das Projekt zum ersten Mal klont, ist es einfach nicht so praktisch. Ich versuche wirklich nur sicherzustellen, dass Ihr Ansatz nicht zur Norm wird, die alles ist.
Skela
14
Sie sollten nicht Version der .imlDateien , wenn Sie wan't mit unnötigen Belästigungen beschäftigen , ob andere Benutzer das Projekt anders nennen , wenn sie überprüfen.
Theblang
151

Aufbauend auf meinem normalen Android .gitignore und nachdem ich die Dokumentation auf der Intellij IDEA-Website gelesen und Beiträge auf StackOverflow gelesen habe, habe ich die folgende Datei erstellt:

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# built native files (uncomment if you build your own)
# *.o
# *.so

# generated files
bin/
gen/

# Ignore gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Eclipse Metadata
.metadata/

# Mac OS X clutter
*.DS_Store

# Windows clutter
Thumbs.db

# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids

Beachten Sie auch, dass der Abschnitt " Erstellte native Dateien " in erster Linie nützlich ist, wenn Sie Ihren eigenen nativen Code mit dem Android NDK erstellen. Wenn Sie andererseits eine Bibliothek eines Drittanbieters verwenden, die diese Dateien enthält, möchten Sie möglicherweise diese Zeilen (* .o und * .so) aus Ihrem .gitignore entfernen.

Phil
quelle
10
Fast richtig. Ich halte es nicht für eine gute Idee, * .so zu ignorieren, da Sie nicht mit Projekten arbeiten können, die Abhängigkeiten von NDK-Bibliotheken verknüpft haben. Aber ein sehr guter Ausgangspunkt für alle Konten!
Skela
@ Skela guter Punkt. Ich hatte diese dort, als ich meine eigenen nativen Dateien erstellte - aber ich habe auch an Projekten gearbeitet, die ein einfaches Kopieren und Einfügen vorgefertigter Dateien erfordern. Ich habe der obigen Antwort einen Hinweis dazu hinzugefügt.
Phil
@Phil Haben Sie Meinungen zu den XML-Dateien in .idea/libraries? Sollten sie Ihrer Meinung nach geteilt oder ausgeschlossen werden?
Alex Lockwood
1
@AlexLockwood Ich denke, diese Dateien sollten enthalten sein, wenn das Projekt nicht von einem anderen Projekt oder Modul abhängig ist. Wenn das Projekt jedoch von einem Modul abhängig ist, das die Bibliotheken enthält, sollte diese Datei auf Projektebene ignoriert werden, jedoch nicht vom Modul.
Phil
@Phil sehr cool und ich habe dies bisher verwendet, aber eine Dex-Datei rutscht durch die Risse: /moduledirectory/build/intermediates/dex-cache/cache.xml - wäre es nicht sinnvoll, ** / build hinzuzufügen, um auch die Build-Ordner in den Modulen ausschließen?
Oliver Hausler
82

Aktualisiert 7/2015:

Hier ist die endgültige Quelle von JetBrains


Verzeichnisbasiertes Projektformat (.idea-Verzeichnis)

Dieses Format wird standardmäßig von allen aktuellen IDE-Versionen verwendet. Folgendes müssen Sie teilen:

  • Alle Dateien im .ideaVerzeichnis im Projektstamm mit Ausnahme der Dateien workspace.xmlund tasks.xml, in denen benutzerspezifische Einstellungen gespeichert sind
  • Alle .imlModuldateien, die sich in verschiedenen Modulverzeichnissen befinden können (gilt für IntelliJ IDEA)

Seien Sie vorsichtig, wenn Sie Folgendes teilen:

  • Android-Artefakte, die einen signierten Build erzeugen (enthalten Keystore-Passwörter)
  • In IDEA 13 und früher dataSources.ids, datasources.xmlkönnen Datenbank - Passwörter enthalten. IDEA 14 löst dieses Problem .

Sie können erwägen, Folgendes nicht zu teilen:

  • Die Datei gradle.xml finden Sie in dieser Diskussion
  • Ordner für Benutzerwörterbücher (um Konflikte zu vermeiden, wenn andere Entwickler denselben Namen haben)
  • XML-Dateien unter .idea/librariesfür den Fall, dass sie aus dem Gradle- Projekt generiert werden

Legacy-Projektformat ( .ipr/ .iml/ .iwsDateien)

  • Geben Sie die Projektdatei .iprund alle .imlModuldateien frei. Geben Sie die .iwsDatei nicht frei, da sie benutzerspezifische Einstellungen speichert

Diese Anweisungen gelten zwar für IntelliJ IDEA, gelten jedoch zu 100% für Android Studio.


Hier ist ein .gitignoreAusschnitt, der alle oben genannten Regeln enthält:

# Android Studio / IntelliJ IDEA 
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
Himmel Kelsey
quelle
Welche SDKs unterstützt werden, wird in der Datei AndroidManifest.xml (und auch von Gradle) definiert. Jedes SDK, das von dieser Einstellung zugelassen wird, muss für die Entwicklung in Ordnung sein. In Bezug auf Codestile: Dies muss nicht in jedem Projekt separat gepflegt werden, und außerdem sollte es unabhängig von der IDE geklärt werden. Copyright-Header: Hoffentlich befinden sich diese in Ihrer Codebasis und nicht in IDE-Projektdateien. Andernfalls würde das Bauen auf der Kommandozeile sie einfach nicht einschließen ...
Risadinha
@ Risadinha 1) SDKs werden auch auf IDE-Ebene definiert. Sie werden im Manifest referenziert, aber die Projektdatei enthält die tatsächlichen SDK-Definitionen. 2) Der Codestil sollte MINDESTENS auf Projektebene beibehalten werden. Im Idealfall würde jeder Standard-Java schreiben, aber na ja. 3) Copyright-Header werden im Projekt gespeichert. Sie werden für die Erstellung neuer Dateien verwendet und können Makros für Name, Firmenname, Projekt, Datum usw. enthalten. Ich empfehle Ihnen, sie zu überprüfen! Zusammenfassend enthalten die Projektdateien wichtige Metainformationen über das Projekt, die im gesamten Team geteilt und gesteuert werden müssen.
Sky Kelsey
3
Ein Betreuer hat die Änderungen in sein eigenes Repo übernommen . Es wird wahrscheinlich bald in den Meister gezogen.
FalconC
5
JetBrains hat DOC-1186 veraltet und ihre aktualisierten Empfehlungen in einen neuen Beitrag gestellt : DO INCLUDE: Alle Dateien im Verzeichnis .idea im Projektstamm mit Ausnahme der Dateien workspace.xml und task.xml sowie aller IML-Dateien. Seien Sie vorsichtig, wenn Sie Android-Artefakte freigeben, die einen signierten Build erzeugen (der Keystore-Kennwörter enthält), dataSources.ids und datasources.xml (sie können Kennwörter enthalten). AUSSCHLIESSLICH: gradle.xml, Benutzerwörterbuchordner und XML-Dateien unter .idea / library (falls sie aus dem Gradle-Projekt generiert wurden).
JSmitty
2
Das ist eine schöne Theorie, aber das funktioniert bei uns einfach nicht. Wir erhalten durchweg IML-Dateien mit Einträgen wie diesen: <orderEntry type="jdk" jdkName="1.6 (38)" jdkType="JavaSDK" />Beachten Sie die Nummer 38, die ständig erhöht zu werden scheint. (Die Datei misc.xml hat auch dieses Problem).
Sam
41

Ich bin mit all diesen Antworten nicht einverstanden. Die folgende Konfiguration eignet sich hervorragend für die App unseres Unternehmens.

Ich ignoriere:

Ich denke, fast alle sind sich einig /build.

Ich hatte es satt, ständig Nachrichten über die verschiedenen library.xmlDateien zu sehen, die Gradle erstellt oder löscht /.idea. Das build.gradlewird auf dem lokalen Entwickler ausgeführt, wenn sie das Projekt zum ersten Mal auschecken. Warum müssen diese XML-Dateien versioniert werden? Android Studio generiert auch den Rest, /.ideawenn ein Entwickler ein Projekt mit erstellt Check out from Version Control. Warum muss also etwas in diesem Ordner versioniert werden?

Wenn das *.imlversioniert ist, muss ein neuer Benutzer das Projekt genauso benennen, wie es beim Festschreiben war. Da dies auch eine generierte Datei ist, warum sollte sie überhaupt versioniert werden?

Die local.propertiesDateien verweisen auf einen absoluten Pfad im Dateisystem für das SDK, daher sollte es definitiv nicht versioniert werden.

Bearbeiten 1 : Hinzugefügt .gradle, um das Gradle-Caching-Material zu ignorieren, das nicht versioniert werden sollte (danke Vasily Makarov ).

Edit 2 : .DS_StoreJetzt hinzugefügt , da ich Mac benutze. Dieser Ordner ist Mac-spezifisch und sollte nicht versioniert werden.

Zusätzlicher Hinweis : Sie möchten wahrscheinlich auch ein Verzeichnis hinzufügen, in das Sie Ihre Signaturschlüssel beim Erstellen einer Release-Version einfügen können.

Zum bequemen Kopieren / Einfügen :

.gradle
/build
/.idea
*.iml
local.properties
.DS_Store 
theblang
quelle
4
Ich stimme Ihrer Antwort zu. Ich glaube auch, dass weder die * .iml- noch die .idea-Datei versioniert werden sollten: stackoverflow.com/a/26290130/2948212
diegosasw
7
Meine Stimme ist für Ihren Gitignore, da er meinem sehr ähnlich ist. Paar Vorschläge: Verwenden Sie build/anstelle von /build, um Modul-Build-Verzeichnisse wie abzugleichen app/build. Verwenden Sie .gradlediese Option, um das Gradle-Caching-Verzeichnis abzugleichen.
Wassili Makarow
Ich frage mich auch, warum der Standard-Gitignore / build anstelle von build / alle Dateien in app / build in meinem Repository enthält, wenn ich / build
guyland123
@ guyland123 Ich habe gerade bemerkt, dass ich eine andere .gitignoreDatei in meinem App-Verzeichnis habe, die auch enthält /build. Wird das automatisch generiert, kann ich mich nicht erinnern? Gilt build/das auch für Unterordner?
Theblang
@mattblang yes .gitignore wird automatisch generiert, wenn Sie ein neues Projekt erstellen. Es wird jedoch nicht erstellt, wenn Sie ein Projekt aus beispielsweise Eclipse importieren. build / stimmt mit allen Verzeichnissen mit dem Namen "build" unter dem Speicherort der .gitignore-Datei überein. Z.B. App / Build wird ignoriert.
guyland123
37

Ich benutze diesen .gitignore. Ich fand es unter: http://th4t.net/android-studio-gitignore.html

*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties

*/build/

*~
*.swp
helbaroudy
quelle
1
* / build / ignoriert unveränderte Dateien in meinem Build-Verzeichnis nicht. irgendwelche Ideen? @ Gelöst: Ich musste * / * / build / hinzufügen, da mein Build-Ordner ein paar Verzeichnisse tief war.
Speedynomads
35

Im Fall von Android Studio müssen nur die Dateien gespeichert werden, die zum Erstellen der Anwendung über die Befehlszeile mit gradle erforderlich sind. So können Sie ignorieren:

  • * .iml
  • .Idee
  • bauen

Wenn Sie jedoch IDE-Einstellungen speichern, z. B. benutzerdefinierte Einstellungen für den Codestil, werden diese im Ordner .idea gespeichert. Wenn Sie diese Änderungen in der Versionskontrolle wünschen, speichern Sie auch die IDEA-Dateien (* .iml und .idea).

Siva Velusamy
quelle
3
Danke, dass du das erklärt hast. Nach dem, was ich gelesen habe, sollten Sie * /. Idea / workspace.xml und * /. Idea / task.xml ignorieren
respektieren
15
Ignorieren Sie den .idea-Ordner vorerst nicht. Das Gradle-Plugin hat noch keine Aufgabe "Gradle-Idee" und das Importieren von Projekten in Android Studio ist jetzt alles andere als perfekt.
Robotoaster
2
Wenn Sie in einem Team arbeiten, sollten Sie local.properties ignorieren, da es den fest codierten SDK-Pfad enthält.
Calin
@robotoaster, würden Sie trotzdem empfehlen, den .idea-Ordner nicht zu ignorieren?
Loeschg
@Ioeschg nicht mehr erforderlich. Wenn Sie Clean Git Repo auschecken, verwenden Sie Import New Project und es sollte einwandfrei funktionieren, solange Build-Dateien vorhanden sind.
Robotoaster
20

Android Studio 3.4

Wenn Sie ein Gradle-Projekt mit Android Studio .gitignoreerstellen, enthält die Datei Folgendes:

.gitignore

*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild

Ich würde empfehlen, das vollständige Verzeichnis ".idea" zu ignorieren, da es benutzerspezifische Konfigurationen enthält, die für den Erstellungsprozess nicht wichtig sind.

Gradle-Projektordner

Das einzige, was sich nach dem Klonen des Repositorys in Ihrem (Gradle) Projektordner befinden sollte, ist diese Struktur (zumindest für die Anwendungsfälle, auf die ich bisher gestoßen bin):

app/
.git/
gradle/
build.gradle
.gitignore
gradle.properties
gradlew
gradle.bat
settings.gradle

Es wird empfohlen, die Gradle-Wrapper-Skripte einzuchecken (siehe hier ).

Um die Wrapper-Dateien anderen Entwicklern und Ausführungsumgebungen zur Verfügung zu stellen, müssen Sie sie in die Versionskontrolle einchecken.

Willi Mentzel
quelle
1
Warum sollten Sie Binärdateien wie gradlew und gradle.bat behalten?
Bilthon
2
@Bilthon Sie sind keine Binärdateien. Dies sind Gradle-Startskripte für Windows (gradle.bat) und Linux (gradlew).
Willi Mentzel
Ohh .. ich sehe, du hast recht, aber werden sie nicht trotzdem automatisch generiert?
Bilthon
2
@Bilthon In der Tat sind sie! Sie werden mit Standardoptionen generiert. Wenn Sie etwas ändern, sollten diese in Ihr Repository aufgenommen werden, damit es beim Auschecken ordnungsgemäß erstellt werden kann. Sie sind so klein, dass es nicht schadet, sie immer zu behalten.
Willi Mentzel
2
Überprüfen Sie auch diese offizielle Ressource hier, die ausdrücklich empfiehlt, die Gradle-Wrapper-Skripte der Quellcodeverwaltung zu übergeben: docs.gradle.org/current/userguide/…
friederbluemle
19

Mein Rat wäre auch, den .idea-Ordner nicht zu ignorieren.

Ich habe ein Git-basiertes Eclipse-Projekt in Android Studio importiert und das ging gut. Später wollte ich dieses Projekt mit Git (wie beim ersten Mal) auf einen anderen Computer mit Android Studio importieren, aber das hat nicht funktioniert. Android Studio hat zwar alle Dateien geladen, konnte das Projekt jedoch nicht als Projekt "sehen". Ich konnte nur Git-Dateien öffnen.

Beim ersten Import des Projekts (von Eclipse nach Android Studio) wurde mein alter Gitignore überschrieben und der neue sah folgendermaßen aus:

  • .idea / .name
  • .idea / compiler.xml
  • .idea / copyright / profile_settings.xml
  • .idea / encodings.xml
  • .idea / library / libs.xml
  • .idea / misc.xml
  • .idea / modules.xml
  • .idea / scopes / scope_settings.xml
  • .idea / vcs.xml
  • .idea / workspace.xml

Also habe ich versucht, einen leeren Gitignore zu verwenden und jetzt hat es funktioniert. Das andere Android Studio könnte die Dateien und das Projekt laden. Ich denke, einige Dateien sind (profiles_settings.xml)für Git und den Import nicht wichtig , aber ich bin einfach froh, dass es funktioniert hat.

Ingo
quelle
Von github.com/joeblau/gitignore.io/issues/… : erge Baranov (IntelliJ) 26. September, 14:23 MESZ Es würde vom Projekt abhängen. Wenn das Projekt aus Maven oder Gradle importiert wird, werden IML-Dateien automatisch generiert und möglicherweise nicht freigegeben. Andernfalls sind diese Dateien für das Projekt unerlässlich und müssen freigegeben werden, damit andere Benutzer das Projekt nach dem Auschecken öffnen können. IML-Dateien enthalten alle Informationen zur Modulkonfiguration (Roots, Quellordner, Abhängigkeiten usw.).
Adrian Romanelli
9

Es ist die beste Art und Weise zu erzeugen , .gitignoreüber hier

Jacky
quelle
1
Ich kann nicht scheinen, dass dies für Android Studio funktioniert. Wenn ich nur "Android" auswähle, scheint es sich um eine Eclipse-Implementierung zu handeln. Mache ich es falsch
Zipzit
Die einzige Erwähnung von Eclipse erfolgt in einer Zeile: "Von Eclipse generierter Proguard-Ordner". Der Rest scheint in Ordnung für AS
Jose_GD
@zipzit, möglicherweise hast du recht. Es scheint, dass die Site .gitignore nicht für Android Studio generiert, da sie nicht .idea / enthält.
CoolMind
1
Es gibt auch Android Studio Option
Daniyal Javaid
8

Es ist NICHT ERFORDERLICH, der Quellcodeverwaltung Folgendes hinzuzufügen:

.idea/
.gradle/
*.iml
build/
local.properties

So können Sie hgignore oder gitignore entsprechend konfigurieren.

Das erste Mal, wenn ein Entwickler die Quellcodeverwaltung klont, kann Folgendes erfolgen:

  1. Öffnen Sie Android Studio
  2. Projekt importieren
  3. Suchen Sie im geklonten Repository nach build.gradle und öffnen Sie es

Das ist alles

PS: Android Studio erhält dann über maven das Gradle-Plugin, vorausgesetzt, Ihr build.gradle sieht ungefähr so ​​aus:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

Android Studio generiert den Inhalt des Ordners .idea (einschließlich der Datei workspace.xml, die sich nicht in der Quellcodeverwaltung befinden sollte, da sie generiert wird ) und des Ordners .gradle.

Dieser Ansatz ist Eclipse-freundlich, da die Quellcodeverwaltung nichts über Android Studio weiß. Android Studio benötigt nur das build.gradle, um ein Projekt zu importieren und den Rest zu generieren.

diegosasw
quelle
5
Leute, diejenigen, die negativ stimmen, sollten einen gültigen Grund dafür angeben. Es kann hilfreich sein, uns / alle zu informieren, wenn wir uns mit unserer Antwort irren.
Diegosasw
1
There is NO NEEDJa, es gibt einige Fälle: Copyright-Vorlagen, die beispielsweise von Teammitgliedern gemeinsam genutzt werden müssen.
Henrique de Sousa
8

Ich unterstütze das Festschreiben des .idea-Ordners (außer workspace.xmlund tasks.xml). Aber ich komme zu dem Schluss, dass .iml-Dateien ignoriert werden sollten.

Hier ist das Problem:

Öffnen Sie zum Beispiel ein Projekt in einem Verzeichnis mit dem Namen "foo" und Sie erhalten foo.iml und das scheint alles gut und schön. Das Problem ist, dass wenn ich das Verzeichnis einfach in foo2 umbenenne (oder es in einen anderen Verzeichnisnamen klone), wenn Sie versuchen, das Projekt in Android Studio zu öffnen, Sie drei Dinge erhalten:

  • Eine neue IML-Datei mit dem Namen foo2.iml
  • Die IML-Datei für Ihr Android-Projekt wird so geändert, dass sie jetzt auf foo2 als übergeordnetes Element verweist
  • .idea / modules.xml wird eine Zeile für foo2.iml hinzugefügt, sodass sowohl die alte iml-Datei als auch die für das neue Verzeichnis vorhanden sind

Ich kann Android Studio nicht daran hindern, diese IML-Dateigenerierung durchzuführen, wenn das Projekt in einem anderen Verzeichnis gespeichert ist. Das Hinzufügen zur Quellcodeverwaltung führt zu Problemen. Deshalb denke ich vielleicht sollten wir * .iml Dateien und ignorieren.idea/modules.xml

linquize
quelle
Ich ignoriere sowohl /.ideaals auch .imlDateien. Ich würde gerne hören, warum der .ideaOrdner festgeschrieben werden sollte.
Theblang
Wenn ich mir mein aktuelles Projekt anschaue, gibt es wohl nur zwei Dinge, die ich aus den Einstellungen für .idea /: Code-Stil eingecheckt habe, um sie für das Team durchzusetzen, und ein Benutzerwörterbuch, das projektspezifische Wörter enthält, die keine echten Wörter sind. Ich habe mit vielen Dateien in .idea festgeschrieben begonnen, aber wenn eine Datei ohne guten Grund als geändert angezeigt wird, wird sie zu .gitignore hinzugefügt. Mein Punkt war nicht so sehr, dass .idea eingecheckt werden sollte, sondern dass .iml-Dateien und modules.xml nicht sein sollten.
Entschuldigung, SO nahm meinen Kommentar entgegen, bevor ich damit fertig war (ich muss bedenken, dass Kommentare keine Zeilenumbrüche akzeptieren). Mit dem Rest meiner Gedanken bearbeitet.
Vielen Dank! Ja, diese Dateien, die Sie erwähnt haben, sind sinnvoll. Ich stimme zu, die größten Kopfschmerzen waren die library.xmlDateien, die immer wieder Nachrichten auslösten. Außerdem verstehe ich nicht, warum immer wieder Leute sagen, dass * .iml-Dateien enthalten sein sollten, also ein großartiger Punkt.
Theblang
8

Getestet mit Android Studio 3.0

Möglicherweise müssen Sie das .ignore- Plugin installieren .

Sie können die Gitignore-Datei für Android automatisch generieren. Klicken Sie mit der rechten Maustaste auf den Ordner und folgen Sie ihm

Fügen Sie eine Gitignore-Datei hinzu

Wählen Sie dann im linken Bereich Android aus und klicken Sie auf Generieren

Generieren Sie eine Gitignore-Datei

Android Studio generiert eine Gitignore-Datei, die alle zu ignorierenden Dateien enthält.

Entnommen aus http://menukanows.com/how-to-add-gitignore-file-in-android-project/

Menuka Ishan
quelle
7

Hängt davon ab, wie Ihr Projektformat beibehalten wird:

Sie haben zwei Möglichkeiten:

  1. Verzeichnisbasiertes Format (Sie haben einen .ideaOrdner, der die projektspezifischen Dateien enthält)
  2. Dateibasiertes Format (Konfigurationsdateien sind .iwsund .ipr)

Ref: http://www.jetbrains.com/idea/webhelp/project.html

Dateien, die der Versionskontrolle übergeben werden, hängen von den oben genannten Bedingungen ab:

  1. Fügen Sie den Ordner .idea zur Versionskontrolle hinzu, schließen Sie workspace.xmlund aus tasks.xml
  2. Die Versionskontrolldatei .iprund alle .imlModuldateien schließen die .iwsDatei aus, da sie benutzerspezifische Einstellungen speichert.

Ref: https://intellij-support.jetbrains.com/entries/23393067

ramk
quelle
1
Alle meine Projekte scheinen sowohl .idea-Ordner als auch .iws-Dateien zu haben
respektiere den Code
1
Persönlich habe ich versucht, den Ratschlägen von JetBrains zu folgen, aber es hat bei mir nicht funktioniert. Ich und ein anderer Entwickler verwenden Android Studio und wir hatten .idea- und .iml-Dateien in Git. Ich fand bald heraus, dass, sobald Sie mit dem Zusammenführen von Commits beginnen und alle möglichen Probleme auftreten, wenn das Zusammenführungstool keine der Dateien unter dem Pfad .idea zusammenführt. Als Ergebnis habe ich alle imls und .idea zu gitignore hinzugefügt. Schließlich kann Studio beim Importieren von Gradle-Projekten sehr gut Projektstrukturen erstellen. Jetzt achte ich genau darauf, was ich in meinen Gradle-Dateien habe.
Zmicer
5

Grundsätzlich jede Datei, die automatisch neu generiert wird.

Ein guter Test besteht darin, Ihr Repo zu klonen und festzustellen, ob Android Studio Ihr Projekt sofort interpretieren und ausführen kann (um zu generieren, was fehlt).
Wenn nicht, finden Sie, was fehlt, und stellen Sie sicher, dass es nicht ignoriert, sondern dem Repo hinzugefügt wird.

Davon abgesehen können Sie Beispiele für vorhandene .gitignoreDateien wie die für Android verwenden .

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
VonC
quelle
11
Das ist falsch. Sie sollten Ihre * .iml-Dateien und höchstwahrscheinlich auch .idea und * .ipr einchecken. Der Teil "Alles, was automatisch generiert wird" ist besonders falsch. Die meisten Android-Projekte werden schließlich automatisch generiert.
Sky Kelsey
6
Die * .iml, * .idea und * .ipr sind Android-Studio / IntelliJ-spezifisch. Sie werden nicht benötigt, um das Projekt zu erstellen. Da sie IDE-spezifisch und nicht Build-Chain-spezifisch sind, sollten sie wahrscheinlich nicht eingecheckt werden. Jeder kann eine beliebige IDE verwenden. Es gibt keinen Grund, beispielsweise IntelliJ-Projektdateien einzuchecken und keine Eclipse-Dateien.
Marc Plano-Lesay
2
Wenn Sie an mehreren Gabeln desselben Projekts oder mit einem Team arbeiten möchten, in dem jeder dieselbe IDE verwendet, oder die Versionskontrolle der komplexen Einstellungen haben möchten, die Sie für Ihre IDE verwenden, sollten Sie die Dateien einchecken. Projektdateien for IntelliJ sind viel mehr als nur einfache Flusen, mit denen Sie Ihren Code in einem Editor öffnen können.
Sky Kelsey
2
Warum werden meine IML-Dateien zwischen mir und meinem Kollegen immer wieder als geändert angezeigt? Insbesondere external.root.project.path ändert sich ständig unter dem <module /> -Tag
Sam
Wenn ich Android Studio 0.8.12 unter Windows 8.1 und OS X Mavericks mit demselben Projekt verwende, stelle ich fest, dass die folgenden beiden Dateien beim Öffnen des Projekts von Git geändert und als geändert markiert werden: <Projektname> .iml und .idea \ misc.xml. Insbesondere: <excludeFolder url = "file: // $ MODULE_DIR $ / build / tmp" /> wird zu / von <Projektname> .iml hinzugefügt oder daraus entfernt Betriebssysteme.
jkwuc89
4

Ich bin koscher mit dem Hinzufügen der .iml-Dateien und Intellij sez, um den .idea-Ordner hinzuzufügen, ignoriere aber .idea / workspace.xml und .idea / task.xml, aber was ist mit .idea / library /?

Ich verstehe nicht, wie sinnvoll es ist, dies hinzuzufügen. Es enthält eine Liste von XML-Dateien, in denen Bibliotheken aufgelistet sind, über die das Android Studio-Projekt Bescheid wissen soll. Diese sollen stattdessen aus von build.gradle definierten Abhängigkeiten stammen - nicht aus einer IDE-Projektdatei.

Auch der Inhalt einer dieser Dateien sieht folgendermaßen aus:

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

Es macht keinen Sinn, dies zu begehen. Was passiert, wenn der Benutzer ein anderes Ausgangsverzeichnis für gradle angegeben hat oder wenn er eine andere gradle-Version verwendet, den Pfad unter.gradle/caches/artifacts-xxx für sie unterschiedlich sein (dh artifacts-die am Ende angehängte Nummer bezieht sich auf die von Ihnen verwendete Version der gradle-Version. ) Diese Wege sind nicht universell, und doch ist der Rat, dies alles einzuchecken?

Zenocon
quelle
4

Ab Android Studio 0.8.4 .gitignorewird beim Starten eines neuen Projekts automatisch eine Datei generiert. Standardmäßig enthält es:

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
Johnny Doe
quelle
3

Ich weiß, dass dies ein altes Thema ist und es sicherlich viele Optionen gibt, aber ich bevorzuge giboSimon Whitaker wirklich . Es ist super einfach zu bedienen, plattformübergreifend (Mac, * nix und Windows) und verwendet das Github- gitignoreRepo, sodass es (im Grunde) immer auf dem neuesten Stand ist.

Stellen Sie sicher, dass Ihr lokaler Cache auf dem neuesten Stand ist:

    $ gibo --upgrade
    From https://github.com/github/gitignore
     * branch            master     -> FETCH_HEAD
    Current branch master is up to date.

Suchen Sie nach der Sprache / Technologie, die Sie benötigen:

    $ gibo --search android
    Android

Zeigen Sie die .gitignore-Datei an:

    $ gibo Android
    ### Android

    # Built application files
    *.apk
    *.ap_

    # Files for the Dalvik VM
    *.dex

    # Java class files
    *.class

    # Generated files
    bin/
    gen/

    # Gradle files
    .gradle/
    build/

    # Local configuration file (sdk path, etc)
    local.properties

    # Proguard folder generated by Eclipse
    proguard/

    # Log Files
    *.log

Hängen Sie es jetzt an die Gitignore-Datei Ihres Projekts an:

    $ gibo Android >> .gitignore

( >>Stellen Sie sicher, dass Sie an die .gitignore-Datei Ihres Projekts anhängen> wird sie überschreiben - wie ich es bei einem Unfall oft getan habe!)

Ich weiß, dass dies nicht die genaue Frage des OP beantwortet, aber die Verwendung von Gibo macht es so, dass Sie so ziemlich nicht mehr über die Frage nachdenken müssen! .. es ist schön! ;)

wasatchwizard
quelle
3

Um eine bessere Vorstellung zu bekommen, benötigen Sie lediglich die folgenden Dateien

  • App
  • build.gradle
  • settings.gradle

Grundlegende Android-Projektstruktur

Sie können alles andere in die .gitignore-Datei einfügen. Alle Ihre App-Änderungen liegen hauptsächlich in diesen Dateien und Ordnern. Der Rest, den Sie in einem Basisprojekt sehen, sind Gradle-Build-Dateien oder Android Studio-Konfigurationsdateien.

Wenn Sie Android Studio verwenden, können Sie "Projekt importieren" verwenden, um das Projekt erfolgreich zu erstellen. Alternativ können Sie über die Befehlszeile erstellen und Android-Projekte mit Gradle erstellen .

Kalan Nawarathne
quelle
3

Es ist am besten, die .gitignore-Liste während der Entwicklungszeit zu addieren, um unbekannte Nebenwirkungen zu vermeiden, wenn die Versionskontrolle aus irgendeinem Grund aufgrund der vordefinierten Liste (Kopieren / Einfügen) von irgendwoher nicht funktioniert. Für eines meiner Projekte besteht die Ignorierliste nur aus:

.gradle
.idea
libs
obj
build
*.log
Tim Long
quelle
3

Github verwaltet nützliche Gitignore-Elemente für verschiedene Arten von Projekten. Hier ist die Liste der nützlichen Gitignore-Elemente für Android-Projekte.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/libraries

# Keystore files
*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

Android Gitignore in Github

Sudip Bhandari
quelle
3
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Von der Überprüfung
imtheman
@imtheman plausibel .. Ich habe die Antwort aktualisiert und den Link als Referenz gesetzt
Sudip Bhandari
2

Ich füge Github .gitignore-Dateien zusammen

### Github Android.gitignore ### 

# Built application files
*.apk
*.ap_

# Files for the Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

### Github JetBrains.gitignore ### 

# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

Bitte lesen Sie: JetBrains-Support: So verwalten Sie Projekte unter Versionskontrollsystemen

d.danailov
quelle
2
Ab 2016 folge ich dieser Antwort als die, die unseren Bedürfnissen am nächsten kommt. Danke
Henrique de Sousa
2

Mit der von gitignore.io bereitgestellten API wird automatisch eine Generierung generiert. Hier ist der Direktlink auch gitignore.io/api/androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio
Daniyal Javaid
quelle
1

Ab Android Studio 0.8.4 wird die Gitignore-Datei beim Starten eines neuen Projekts automatisch generiert. Standardmäßig enthält es:

.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
build/
/captures

Ich stimme dieser Aussage zu, ändere diese Datei jedoch so, dass sie / build in build / ändert (dies schließt / build und / app / build ein). Daher habe ich nicht alle Dateien in app / build in meinem Repository.

Beachten Sie auch, dass beim Importieren eines Projekts aus Eclipse der Gitignore nicht kopiert oder "automatisch" für Sie erstellt wird.

guyland123
quelle
0

Zusammenstellung:

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Gradle files
.gradle/
build/
/*/build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Windows thumbnail db
Thumbs.db

# OSX files
.DS_Store

# Eclipse project files
.classpath
.project

# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
Aqib Mumtaz
quelle
0

Um den Import aller Dateien zu umgehen, bei denen Android Studio die Liste "Ignorierte Dateien" ignoriert, aber dennoch Android Studio VCS nutzt, habe ich Folgendes getan: Hiermit wird die Liste "Ignorierte Dateien" aus Android Studio verwendet (nach dem Import! Nicht während) UND vermeiden Sie die umständliche Art und Weise, wie Tortoise SVN die Liste svn: ignore festlegt.

  1. Verwenden Sie den Tortoise SVN-Repository-Browser, um einen neuen Projektordner direkt im Repository zu erstellen.
  2. Verwenden Sie Tortoise SVN, um den neuen Ordner über dem Ordner auszuchecken, den Sie importieren möchten. Sie erhalten eine Warnung, dass der lokale Ordner nicht leer ist. Ignorieren Sie die Warnung. Jetzt haben Sie einen versionierten Ordner der obersten Ebene mit nicht versioniertem Inhalt.
  3. Öffnen Sie Ihr Projekt aus dem lokalen Arbeitsverzeichnis. VCS sollte jetzt automatisch aktiviert werden
  4. Legen Sie Ihre Dateiausnahmen unter Datei -> Einstellungen -> Versionskontrolle -> Ignorierte Dateien fest
  5. Hinzufügen von Dateien zu SVN aus Android Studio: Wählen Sie 'App' in Projektstruktur -> VCS -> Zu VCS hinzufügen (dies fügt alle Dateien außer "Ignorierte Dateien" hinzu).
  6. Änderungen festschreiben

In Zukunft wird "Ignorierte Dateien" ignoriert und Sie können VCS weiterhin von Android Studio aus verwalten.

Prost, -Joost

Joost
quelle
0

Android Studio 3.5.3

Ich benutze dies für meine Bibliotheken und Projekte und es deckt die meisten Dateien ab, die von Android Studio und anderen bekannten Tools generiert werden:

# Built application files
*.apk
*.ap_
*.aab

# Files for the ART/Dalvik VM
*.dex

# Generated files
bin/
gen/
out/
app/release/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md

#NDK
*.so
Squti
quelle
0

Dies wird unter Verwendung der Referenz http://gitignore.io/ erstellt. Dort können Sie die neueste aktualisierte Gitignore-Datei für jedes Projekt erstellen. Für Android http://gitignore.io/api/androidstudio . Hoffe das hilft. Derzeit verwende ich Android Studio 3.6.3

# Created by https://www.gitignore.io/api/androidstudio
# Edit at https://www.gitignore.io/?templates=androidstudio

### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle
.gradle/
build/

# Signing files
.signing/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
captures/
.navigation/
*.ipr
*~
*.swp

# Android Patch
gen-external-apklibs

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# NDK
obj/

# IntelliJ IDEA
*.iml
*.iws
/out/

# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml

# OS-specific files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
hs_err_pid*

## Plugin-specific files:

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Mongo Explorer plugin
.idea/mongoSettings.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

### AndroidStudio Patch ###

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.gitignore.io/api/androidstudio
Vinodh Ram
quelle
-1

Diese offizielle Dokumentation des JetBrains-Supports besagt, dass Folgendes enthalten sein sollte:

All files under .idea directory except workspace.xml and tasks.xml because
    they store specific user settings
All the *.iml files that can be located in different module directories

Es gibt auch andere Empfehlungen für Dinge, bei denen Sie vorsichtig sein sollten.

reckte sich
quelle
1
Warum wurde dies abgelehnt? Abstimmungen ohne Erklärung sind das Schlimmste an SO.
Craned
-1

.gitignore aus der AndroidRate-Bibliothek

# Copyright 2017 - 2018 Vorlonsoft LLC
#
# Licensed under The MIT License (MIT)

# Built application files
*.ap_
*.apk

# Built library files
*.aar
*.jar

# Built native files
*.o
*.so

# Files for the Dalvik/Android Runtime (ART)
*.dex
*.odex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk/ndk path, etc)
local.properties

# Windows thumbnail cache
Thumbs.db

# macOS
.DS_Store/

# Log Files
*.log

# Android Studio
.navigation/
captures/
output.json

# NDK
.externalNativeBuild/
obj/

# IntelliJ
## User-specific stuff
.idea/**/tasks.xml
.idea/**/workspace.xml
.idea/dictionaries
## Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/dynamic.xml
.idea/**/sqlDataSources.xml
.idea/**/uiDesigner.xml
## Gradle
.idea/**/gradle.xml
.idea/**/libraries
## VCS
.idea/vcs.xml
## Module files
*.iml
## File-based project format
*.iws
Alexander Savin
quelle
-1

https://github.com/github/gitignore ist eine großartige Sammlung

Android.gitignore

# Built application files
*.apk
*.ap_

# Files for the ART/Dalvik VM
*.dex

# Java class files
*.class

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
build/

# Local configuration file (sdk path, etc)
local.properties

# Proguard folder generated by Eclipse
proguard/

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild

# Google Services (e.g. APIs or Firebase)
google-services.json

# Freeline
freeline.py
freeline/
freeline_project_description.json

# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
Shellhub
quelle