2010-02-19 14 views
7

¿Qué debo agregar aparte de lo obvio (src, dist) a mi sistema de control de versiones desde un directorio de proyectos NetBeans Java? ¿Puedo soltar todo el directorio de compilación? ¿Debería agregar el directorio nbproject porque también estoy trabajando en el mismo proyecto en una máquina diferente?NetBeans y Java: ¿qué agregar al control de la versión?

Me gustaría dejar al menos el directorio de compilación porque cada vez que la aplicación no compila tengo problemas con git ya que hay una tonelada de archivos que git considera que se eliminan.

Respuesta

5

Nota: esta respuesta se aplica a NB 6.8 (que es lo que estoy usando en este momento) y probablemente también se aplica a la mayoría de las versiones 6.x que probablemente se encuentren en la naturaleza.

La respuesta breve: utilice el elemento de menú "Importar en el repositorio" para realizar la verificación inicial. El IDE comprobará las cosas que considere necesarias.

Es un poco difícil de encontrar. Seleccione su proyecto en el explorador de proyectos. Abra el menú de Equipo desde la barra de menú. Una vez que haga clic en él, se verá algo como:

Kenai> 
------ 
CVS> 
Mercurial> 
Subversion> 
______ 

la importación en este elemento es un elemento secundario de CVS/Mergcurial/Subversion.

Si usted está comprometido a hacer el check-in 'de mano' aquí es una lista de las cosas que el IDE normalmente empujado a un repositorio:

  • src dir (y todos los archivos de sub y carpetas)
  • prueba dir (y todos los archivos y carpetas sub )
  • nbproject dir (y todos los archivos y carpetas - excepto el carpeta 'privado' y su contenido)
  • build.xml
  • manifest.mf
+0

Excelente respuesta y exactamente lo que estaba buscando. Estoy usando git, así que tengo que ver si tu consejo funciona. Habiendo dicho eso, prefiero hacer esto a mano, pero comenzar con la parte de importación me parece una buena idea. – Makis

+0

NB no tiene soporte para git 'out of the box' ... Probablemente quiera consultar este complemento (http://code.google.com/p/nbgit/) para ver si le será útil. – vkraemer

+0

Ya lo tenía instalado en una computadora y lo acababa de instalar en esta, y parece que esa función también está disponible con git. – Makis

1

Su código fuente, los archivos de recursos (imágenes, archivos de configuración, etc.) y los scripts de compilación (en Netbeans todos los archivos de compilación de ant) ​​deben estar en el repositorio.

No coloque el directorio dist/build allí. En general, no es una buena idea colocar artefactos construidos (archivos de clase, el contenedor del proyecto, etc.) en control de fuente.

Sin embargo, compartir los metadatos de Netbeans puede ser útil al trabajar en el mismo proyecto desde diferentes máquinas.

+0

Tenga cuidado al trabajar en un entorno heterogéneo con esto. Al igual que el Desarrollador A está en Mac y el Desarrollador B está en Windows. Esto podría causar algunos problemas. – er4z0r

+0

compartir metadatos puede ser útil, pero también puede ser una molestia cuando alguien cambia su configuración personal y todos en el equipo los obtienen –

+0

Entonces ... ¿puedo dejar toda la construcción/directorio entonces? ¿Y cuáles son los archivos Ant que debo agregar? build.xml? – Makis

0

Debe poner tanto control de versión tanto como pueda. El control de versiones de algo que no cambiará tiene un costo cero, darse cuenta más tarde de que no puede recuperar un estado que necesita es fatal. El almacenamiento es muy económico, los archivos de texto son muy pequeños, la mayoría de los deltas de tiendas SVM-s son de tamaño y velocidad marginales.

Las prácticas ágiles también incluyen explícitamente esto. Además del código fuente y los archivos del proyecto, considere construir, implementar scripts, esquemas de bases de datos y burlas, configuraciones, documentación (!), Archivos de prueba, bibliotecas dependientes, todos, el sitio web del proyecto ... Por supuesto, a veces es difícil poner un ejemplo una imagen de máquina virtual bajo control de versión (binario), las instantáneas regulares pueden ser más aplicables para eso. Pero si alguna vez se pregunta, debería poner esto bajo control de versiones, la respuesta es casi siempre sí, debería hacerlo. (Seguir esta práctica también hace que sea más fácil tomar decisiones sobre el control de versiones.)

+0

No coloque cosas generadas por su proceso de compilación en el repositorio SOURCE CODE. Simplemente hace que sea más difícil para otras personas echar un vistazo y construir el proyecto. Verifique las compilaciones completadas en una ubicación diferente. –

2

Hace una hora se formuló una pregunta similar acerca de Eclipse, y aunque algunos de los detalles del IDE pueden ser diferentes, el principio de qué poner en la versión el control es lo mismo.

Básicamente, cualquier cosa que no genere.

Las excepciones a esto pueden ser las jarras dependientes. Si los incluye o no realmente depende de si tiene una ubicación de biblioteca común a la que otros puedan hacer referencia o no. Como costumbre, siempre he tenido entornos con ubicaciones comunes en lugar de ponerlo bajo control para cada proyecto (después de todo, ¿cuántas veces desea almacenar log4j y toda su versión bajo control de fuente). Por supuesto, ahora somos expertos en este tema, por lo que se soluciona el problema (ver mi respuesta a Maven y Eclipse en la misma pregunta relacionada anteriormente).

0

Todo lo necesario para compilar y ejecutar el proyecto desde cero.

Asegúrese de agregar también su directorio lib. Lo ODIO completamente cuando saco cosas del control de versiones y no puedo encontrar todos los archivos jar dependientes, lo que me hace seguir adivinando hasta que resuelvo todas las excepciones de ClassNotFound. No agregue su directorio de compilación o su script de compilación de Netbeans, a menos que esté atado a Netbeans. Otra alternativa es agregar un script de construcción (que no sea de Netbeans).

Cuestiones relacionadas