Git: Tratar con .class archivos y otros objetos compilados
Pregunta
Digamos que tengo un par de ramas con código diferente: BranchA y BranchB. Asumo que estoy actualmente en BranchA y ejecutar una generación. Supongamos que mi construcción vuelca archivos .class y otros objetos compilados en directorios dentro del árbol de trabajo. Cuando ejecuto un diff, veo que los directorios han cambiado porque tienen nuevos objetos compilados dentro.
Si cambio a BranchB y desplegar mi código, entonces estoy realmente el despliegue de objetos compilados a partir de la base de código de BranchA, ya que Git mantiene mis cambios flotantes (objetos compilados nueva) a través del interruptor de rama. Obviamente, esto es un error.
Hay algunas maneras de evitar esto, uno de ellos la limpieza de archivos no versionados cada vez que cambiamos de ramas, pero hay una manera más infalible de cuidar de este problema. Realmente prefiero no poner objeto compilado en el control de versiones.
Solución
Lo que sí
- .gitignore uso para excluir archivos compilados desde el repositorio
- hacer una parte limpia y la compilación de su proceso de implementación.