Intellij Idea 9/10, welche Ordner müssen in die Quellcodeverwaltung eingecheckt (oder nicht eingecheckt) werden?

119

Unser Team ist gerade von Netbeans zu Intellij 9 Ultimate gewechselt und muss wissen, welche Dateien / Ordner normalerweise von der Quellcodeverwaltung ausgeschlossen werden sollten, da sie nicht "Workstation Portable" sind, dh sie verweisen auf Pfade, die nur auf dem Computer eines Benutzers vorhanden sind.

Soweit ich das beurteilen kann, möchte Intellij den größten Teil des .idea-Projekts ignorieren, einschließlich

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

Es scheint jedoch die .imlDateien einchecken zu wollen, die im Stammverzeichnis jedes Moduls vorhanden sind.

Ich habe ursprünglich das gesamte .ideaVerzeichnis über die Befehlszeile eingecheckt , die offensichtlich nicht weiß, was von Idea ignoriert werden soll. Wird das gesamte .ideaVerzeichnis normalerweise ignoriert?

benstpierre
quelle

Antworten:

104

Wir haben einen FAQ-Artikel zu dieser Frage.

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

  • Alle Dateien unter .idea Verzeichnis im Projektstamm mit Ausnahme der workspace.xml und tasks.xml Dateien , die Speicherung von Anwenderspezifische Einstellungen
  • Alle IML- Moduldateien, die sich in verschiedenen Modulverzeichnissen befinden können (gilt für IntelliJ IDEA).

Seien Sie vorsichtig, wenn Sie Folgendes mitteilen:

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

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

  • .iml - Dateien für die Gradle oder Maven - basierten Projekte, da werden diese Dateien beim Import generiert werden
  • Die Datei gradle.xml finden Sie in dieser Diskussion
  • Benutzerwörterverzeichnis (Um Konflikte zu vermeiden , wenn andere Entwickler die gleichen Namen haben)
  • XML-Dateien unter .idea / Bibliotheken, falls sie aus einem Gradle- oder Maven- Projekt generiert wurden

.idea Das Verzeichnis ist ein Ersatz für die alte IPR-Datei (Idea Project). Wenn Sie das Projekt für Benutzer freigeben möchten, müssen Sie den IDE-Ordner (mit den in den häufig gestellten Fragen genannten Ausnahmen) und alle IML-Dateien freigeben.

CrazyCoder
quelle
2
Ja, es ist aktuell, es gab keine wesentlichen Änderungen in den Projektdateien.
CrazyCoder
72
@CrazyCoder (+1) Es würde unser Leben leichter machen, wenn ihr die projektspezifischen Dateien und benutzerspezifischen Dateien in getrennten Verzeichnissen ablegt.
IJ Kennedy
3
Das Kommentieren eines alten Threads, aber der Ansatz der FAQ, den gesamten .idea-Ordner (außer workspace.xml und task.xml) freizugeben, ist problematisch, da sich verschiedene Dateien zwischen Computern und zwischen Sitzungen ändern. Was mich wirklich stört: Python / Library auf dem Mac befindet sich an zwei verschiedenen Stellen auf verschiedenen Macs, sodass pycharm.xml häufig vorkommt.
Matthew Cornell
29
Das ist eine ziemlich schlechte Entschuldigung für eine FAQ. Es ist ein großer Faden mit Leuten, die Fragen stellen. Wie wäre es mit einem Beispiel .gitignore für ein Projekt?
Jeffrey Blattman
12
Es ist unglaublich / unmöglich, dass es im selben Ordner "einige ja, einige nein" geben würde - ist das vier Jahre später immer noch derselbe Wahnsinn? danke
Fattie
42

In der JetBrains.gitignore- Datei von Github finden Sie immer eine aktualisierte Liste der zu ignorierenden Dateien.

warum weiß
quelle
Wie wäre es mit Rider? (Die Datei erwähnt es derzeit nicht)
Roberto
6

Keine genaue Antwort auf die Frage, aber hier sind Beispieldateien für Gitignore verfügbar , darunter eine für JetBrains, die Intellij enthält.

CodeClimber
quelle
1
Ich wünschte, ich könnte die anderen Antworten, die die Fragen nicht haben, ablehnen. Vielen Dank für eine aktuelle Antwort auf den Quellcode.
Bobjones
1
JetBrains .gitignoreLink
Camilo Sanchez
5

Dieser Beitrag könnte für Sie interessant sein: Zusammenführung von .IPR- und .IWS-Dateien von IntelliJ IDEA

Es scheint zu dem Schluss , dass Sie alle Dateien hinzufügen sollten ausgenommen: workspace.xml, dataSources.xml, sqlDataSources.xmlund dynamic.xml. Die Antwort dort konzentriert sich darauf, Dateien zu haben, die sich nicht einfach durch Öffnen des Editors oder Vornehmen spezifischer Änderungen ändern.

Tommy Andersen
quelle
4

Ich benutze PHPStorm.

Hier ist ein Beispiel-Snippet für Ihre .gitignore

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

Alle anderen Dateien im .ideaVerzeichnis sollten in Ihr Repository übernommen werden.

zB: (alles andere im .ideaVerzeichnis festschreiben)

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

Dokumente: So verwalten Sie Projekte unter Versionskontrollsystemen

Folgendes müssen Sie teilen:

Alle Dateien unter .idea Verzeichnis im Projektstamm mit Ausnahme der workspace.xml und tasks.xml Dateien , die Speicherung von Anwenderspezifische Einstellungen

Alle IML-Moduldateien, die sich in verschiedenen Modulverzeichnissen befinden können (gilt für IntelliJ IDEA).

Legen Sie also im Grunde alles außer workspace.xmlund fest tasks.xml.

Anil
quelle
0

Ja, ich glaube schon. Sie können die SVN-Konfiguration überprüfen, um festzustellen, was ignoriert wird, und alles hinzufügen, was Ihrer Meinung nach ignoriert werden sollte.

Duffymo
quelle