Intellij Idea 9/10, ¿qué carpetas registrar (o no registrar) el control de código fuente?

119

Nuestro equipo acaba de pasar de Netbeans a Intellij 9 Ultimate y necesita saber qué archivos / carpetas deberían excluirse normalmente del control de código fuente ya que no son "portátiles de estación de trabajo", es decir, hacen referencia a rutas que solo existen en la computadora de un usuario.

Por lo que puedo decir, Intellij quiere ignorar la mayor parte del proyecto .idea, incluido

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

Sin embargo, parece querer registrar los .imlarchivos que existen en el directorio raíz de cada módulo.

Originalmente verifiqué todo el .ideadirectorio a través de la línea de comando que obviamente no es consciente de lo que "debería" ignorar Idea. ¿Se .ideasuele ignorar el directorio completo?

benstpierre
fuente

Respuestas:

104

Tenemos un artículo de preguntas frecuentes sobre esta cuestión.

Todas las versiones recientes de IDE utilizan el formato [.idea] de forma predeterminada. Esto es lo que necesita compartir:

  • Todos los archivos del directorio .idea en la raíz del proyecto, excepto los archivos workspace.xml y tasks.xml que almacenan configuraciones específicas del usuario
  • Todos archivos de módulo .iml que se pueden ubicar en diferentes directorios de módulos (se aplica a IntelliJ IDEA)

Ten cuidado al compartir lo siguiente:

  • Artefactos de Android que producen un compilación firmada (contendrán contraseñas del almacén de claves)
  • En IDEA 13 y dataSources.ids anteriores , datasources.xml puede contener contraseñas de bases de datos. IDEA 14 resuelve este problema .

Puede considerar no compartir lo siguiente:

  • Archivos .iml para Gradle proyectos basados ​​en o Maven , ya que estos archivos se generarán al importar
  • gradle.xml archivo, vea esta discusión
  • usuario carpeta de diccionarios de (para evitar conflictos si otro desarrollador tiene el mismo nombre)
  • Archivos XML en .idea / bibliotecas en caso de que se generen desde el proyecto Gradle o Maven

.idea El directorio es un reemplazo del antiguo archivo .ipr (Proyecto Idea) y si desea compartir el proyecto entre usuarios, debe compartir la carpeta .idea (con las excepciones mencionadas en las preguntas frecuentes) y todos los archivos .iml.

CrazyCoder
fuente
2
Sí, está actualizado, no hubo cambios importantes en los archivos del proyecto.
CrazyCoder
72
@CrazyCoder (+1) Nos facilitaría la vida si pusieran los archivos específicos del proyecto y los archivos específicos del usuario en directorios separados.
IJ Kennedy
3
Comentar sobre un hilo antiguo, pero el enfoque de las preguntas frecuentes de compartir la carpeta .idea completa (excepto workspace.xml y tasks.xml) es problemático porque varios archivos cambian entre máquinas y entre sesiones. Lo que realmente me molesta: Python / Library en Mac está en dos lugares diferentes en diferentes Mac, por lo que pycharm.xml abunda.
Matthew Cornell
29
esa es una excusa bastante pobre para una pregunta frecuente. es un gran hilo conductor con personas que hacen preguntas. ¿qué tal un ejemplo .gitignore para un proyecto?
Jeffrey Blattman
13
es increíble / imposible que haya "algunos sí, algunos no" dentro de la misma carpeta --- ¿sigue siendo la misma locura cuatro años después? gracias
Fattie
42

Consulte el archivo JetBrains.gitignore de Github para tener siempre una lista actualizada de qué archivos ignorar.

blanco
fuente
¿Qué tal Rider? (el archivo actualmente no lo menciona)
Roberto
6

No es la respuesta exacta a la pregunta, pero hay archivos .gitignore de muestra disponibles aquí, incluido uno para JetBrains que incluye Intellij.

CodeClimber
fuente
1
Ojalá pudiera rechazar las otras respuestas que no tienen las preguntas. Gracias por una respuesta real en código fuente.
bobjones
1
.gitignoreEnlace JetBrains
Camilo Sanchez
5

Puede encontrar esta publicación interesante: Fusiona en archivos .IPR e .IWS de IntelliJ IDEA

Parece a la conclusión de que se debe añadir todos los archivos a excepción de: workspace.xml, dataSources.xml, sqlDataSources.xmly dynamic.xml. La respuesta se centra en tener archivos que no cambien simplemente al abrir el editor o realizar cambios específicos.

Tommy Andersen
fuente
4

Estoy usando PHPStorm.

A continuación, se muestra un fragmento de ejemplo para su .gitignore

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

Todos los demás archivos del .ideadirectorio deben estar comprometidos con su repositorio.

por ejemplo: (enviar todo lo demás en el .ideadirectorio)

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

Documentos: cómo gestionar proyectos en sistemas de control de versiones

Esto es lo que necesita compartir:

Todos los ficheros en el directorio de .idea en la raíz del proyecto , excepto el workspace.xml y tasks.xml archivos que almacenan configuraciones específicas del usuario

Todos los archivos de módulo .iml que se pueden ubicar en diferentes directorios de módulos (se aplica a IntelliJ IDEA)

Entonces, básicamente, confíe todo excepto workspace.xmly tasks.xml.

Añil
fuente
0

Sí, así lo creo. Puede verificar la configuración de SVN para ver qué se ignora y agregar cualquier cosa que crea que debería ignorarse.

duffymo
fuente