¿Qué debería haber en el archivo .gitignore para un proyecto java de netbeans?

90

¿Cuál debería ser el contenido del archivo .gitignore para un proyecto java en netbeans?

thuaso
fuente
1
Depende del sistema operativo en el que esté desarrollando también, la mayoría de los desarrolladores de Mac lo incluyen, .DS_Storeya que es generado por OS X, en la mayoría de directorios, y es superfluo para su aplicación.
Greg K
Soy un revelador en windows. En cuestión me refiero a algunos archivos determinados como .DS_Store. Por ejemplo, ¿debo incluir la carpeta de compilación en .gitignore?
thuaso
3
Esto es, más o menos, un duplicado de stackoverflow.com/questions/1267403/…
David J.

Respuestas:

65

Hay una gran cantidad de archivos que probablemente no necesite confirmar en git, ya que están construidos, son generados por NB o contienen información específica del entorno.

Si crea un proyecto que usa Ant como mecanismo de compilación, generalmente terminará con un árbol de directorios que se ve así ...

project-root-directory/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

Después de hacer una compilación, habrá un par de directorios adicionales.

project-root-directory/
+ build/
+ dist/
+ nbproject/
  build-impl.xml
  + private/
  + project.properties
  + project.xml
+ src/
+ test/
+ build.xml

Probablemente debería poner los directorios build, dist y nbproject / private (y sus hijos) en su .gitignore.

Si desea ser muy agresivo al excluir archivos, puede considerar excluir todos los archivos que aparecen en nbproject EXCEPTO project.properties y project.xml. Los otros archivos en el directorio nbproject son regenerados por NetBeans cuando se abre el proyecto.

vkraemer
fuente
4
Se hizo una pregunta muy similar un año antes y la mejor respuesta apuntaba a un artículo de la base de conocimientos de NetBeans que ofrece una respuesta similar a la suya.
David J.
2
@DavidJames - enlace roto ahora
Jason S
@JasonS Mi primer enlace sigue siendo válido; No puedo editar el segundo enlace. Más contexto en ¿Hay alguna forma de corregir enlaces rotos en los comentarios? ¿Pueden los mods editar comentarios?
David J.
73
# NetBeans specific #
nbproject/private/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml

# Class Files #
*.class

# Package Files #
*.jar
*.war
*.ear
mono68
fuente
1
Solo una nota de que esto se alinea estrechamente con NetBeans .gitignore alojado en GitHub: github.com/github/gitignore/blob/master/Global/…
Steven
1
NetBeans .gitignore de GitHub permite incluir archivos .jar en el repositorio. Dudo que sea la mejor práctica, pero me facilita la vida.
Neal Ehardt
... y, como GitHub .gitignorepara NetBeans, no es del todo correcto. Consulte stackoverflow.com/q/24139478/421049 .
Garret Wilson
3
Agregue barras inclinadas a los nombres de los directorios que se ignorarán. Por ejemplo: "/ build /" en lugar de solo "build /". De lo contrario, si tiene un directorio llamado "build" en algún lugar de la estructura del directorio, se ignorará, lo que probablemente no sea lo que desea.
Duncan
1

No debería haber archivos específicos de NetBeans en su .gitignore. El .gitignorearchivo es específico del proyecto pero compartido entre desarrolladores, IOW solo debe haber cosas que sean comunes para todos los desarrolladores que trabajan con el código (incluidos los que usan OSX, Linux en lugar de Windows y Eclipse, IntelliJ o Notepad como editores) y que son específicos del proyecto.

Si hay algunos archivos que le gustaría ignorar en función de su entorno específico (como, por ejemplo, Windows Thumbs.dby desktoparchivos o nbprojectdirectorios de NeBeans ), debe hacerlo en su lista global de ignorados, no en el proyecto específico .gitignore , aunque solo sea porque no lo hace ' No es necesario agregarlos a cada uno de sus proyectos individualmente.

Si los archivos que desea ignorar son específicos de su entorno y específicos del proyecto, colóquelos en el repositorio .git/info/exclude.

Jörg W Mittag
fuente
2
¿Por qué utilizar .git / info / exclude en lugar de los proyectos .gitignore? ¿Cuál es el beneficio / desventaja si se coloca en .gitignore?
Andrew Burns
@Andrew Burns La diferencia entre .gitignore y .git / info / exclude es que el primero será versionado (git rastrea cambios), mientras que el segundo no. Uso .gitignore porque a veces cambio lo que se ignora y quiero que esté asociado a la versión. Me gustó t ejemplos de archivos .gitignore aquí .
Ivin
2
Estoy en desacuerdo; no perjudica a un usuario de IntelliJ si un usuario de Eclipse registra los archivos de proyecto apropiados (por ejemplo, no generados automáticamente), o viceversa. De hecho, puede ayudar cuando un miembro del equipo del proyecto necesita trabajar con ese otro IDE. (Esto puede suceder durante la resolución de problemas o la programación de pares)
David J.
1
nb-configuration.xml no debe ignorarse. Está destinado a ser compartido entre desarrolladores.
DejanLekic