webentwicklung-frage-antwort-db.com.de

Welche Dateien im .idea-Ordner sollten von Git verfolgt werden?

Im Gegensatz zu Netbeans werden in Jetbrains IDEs die Einstellungsdateien, die sich auf Benutzer und Team beziehen, in demselben Ordner abgemischt, was es schwierig macht, wenn Sie sie zum Git drücken müssen. 

Es gibt eine Reihe von Beispielen für git ignore-Dateien für diese IDEs und https://intellij-support.jetbrains.com/hc/articles/206544839 page auf git site. 

Nachdem wir sie jedoch für ein paar Monate verwendet haben, stellen wir fest, dass es sicherer und bequemer ist, das Gegenteil zu tun. Ich meine, alle .idea-Dateien ignorieren und explizit nur teambezogene Einstellungen hinzufügen. (anstatt alles hinzuzufügen und einige zu ignorieren). 

Die Hauptsache, die von Entwicklern gemeinsam genutzt werden kann, sind Code-Style-Konfigurationen. Bei Verwendung der automatischen Umformatierungsoption IDE folgt das gesamte Team einem einheitlichen Stil. 

Abgesehen davon ist die Frage, welche anderen Dateien erneut aufgenommen und nicht ignoriert werden sollen. Warum?

antwort: Ich kam dazu: https://github.com/salarmehr/idea-gitignore

18
PHPst

Nach einiger Untersuchung habe ich folgende .idea/.gitignore-Datei gefunden:

# ignore all .idea files ...
*
# except  ...

# Version Control configuration
!vcs.xml

# how IDEA should treat the text files
!encodings.xml

# automatic code formatting
!codeStyleSettings.xml

# project specific words
!dictionaries

!copyrights
!misc.xml
!sqldialects.xml

Die obigen Dateien sollten für alle Teammitglieder praktisch identisch sein.

antwort: Ich kam dazu: https://github.com/salarmehr/idea-gitignore

5
PHPst

Jetbrains hat einige offizielle Hinweise auf welche Dateien sollte nicht eingecheckt werden und welche Dateien sollten nicht eingecheckt werden, abhängig von Ihrer Verwendung. Gemäß dieser Seite sollten Sie alle Dateien im Verzeichnis .idea einchecken, außer:

  • workspace.xml
  • tasks.xml

Und wahrscheinlich auch:

  • die XML-Dateien im Unterverzeichnis dictionary

Während die jeweilige Antwort von den speziellen Vorgehensweisen Ihres Teams abhängen kann, führt das Befolgen dieser Anleitung meiner Erfahrung nach im Allgemeinen zu einer korrekten Trennung der Benutzereinstellungen und der gemeinsamen Projektkonfiguration.

Einige Beispiele für Dateien, die sollte gemäß diesen Anweisungen gemeinsam genutzt werden sollen:

  • ant.xml, wenn Sie Ihr Projekt mit Ant erstellen, zeigt IDEA auf Ihre Build-Dateien und konfiguriert Eigenschaften, die zum Erstellen verwendet werden sollen.
  • vcs.xml, der die Version Control-Konfiguration für Ihr Projekt angibt
  • encodings.xml gibt an, wie IDEA die Textdateien in Ihrem Projekt behandeln soll
  • modules.xml, der auf IDEA auf jede Modulkonfigurationsdatei Ihres Projekts verweist, die auch in Ihrem VCS freigegeben werden sollte.
  • alle Dateien im Unterverzeichnis runConfigurations, in denen IDEA angegeben wird, was zum Ausführen der Anwendung erforderlich ist
  • codeStyleSettings.xml, der, wie Sie angedeutet haben, Ihr gesamtes Team in Bezug auf die automatische Code-Formatierung auf die gleiche Seite bringt

Je nach Nutzung Ihres Teams kann es mehr oder weniger geben, aber dies sind einige der größten Beispiele.

19
Matt Leidholm

Ich ziehe es vor, den .idea-Ordner oder die .iml-Dateien überhaupt nicht einzuchecken.

  • Wenn Sie Editorstile gemeinsam nutzen möchten, sollten Sie die Verwendung einer .editorconfig -Datei in Betracht ziehen. Die JetBrains-IDEs unterstützen diese jetzt.
  • Für andere Dinge, wie z. B. Build-Einstellungen, können Sie versuchen, sich auf Ihr Build-Tool zu stützen, z. Verwenden Sie maven oder gradle build-Dateien, um bestimmte Setups durchzuführen.
  • Natürlich gibt es noch eine Reihe anderer Dinge, die nicht behandelt werden, aber die meisten können durch gut dokumentierte Konventionen gelöst werden.
2
ninj

Es wird empfohlen, nicht den gesamten .idea-Ordner festzuschreiben, da dies für Konfigurationen gilt. Wie die *.iml-Datei.

Wenn ich Netbeans anstelle von Intellij verwende, möchte ich diese Konfigurationsdateien nicht. Es ist nutzlos und vielleicht ein wenig gefährlich für Konflikte.

2
YoannFleuryDev

Ich verwende sowohl IDEA als auch Eclipse, aber keine Netbeans. Ich nie setze keine Projektdateien ein, aber stellen Sie sicher, dass ich ein Maven-Build als führendes Werkzeug habe. Dann kann ich das Maven-Projekt problemlos in jedes IDE mit Maven-Unterstützung importieren und auch von Maven aktualisieren, sobald ich es geändert habe es. Für Eclipse und IDEA funktioniert das wunderbar.

Meine .gitignore -Datei sieht für alle meine Projekte folgendermaßen aus:

# Eclipse
.settings/
.classpath
.project

# IntelliJ IDEA
.idea/
*.iml

# Maven
target/

Plus andere projektspezifische Dateien oder Verzeichnisse.

1
kriegaex