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?

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.


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


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.


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


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.


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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.