¿Deberían comprometerse mis comstackciones?

Esto es para un proyecto basado en la web donde mi código de aplicación del server y el lado del cliente JS / HJTML están bajo control de versión. Digamos que lanzo la versión 1.0 y creo una nueva twig desde el tronco con la versión 1.0. Ejecuto mi herramienta de compilation que escupe todos los files comprimidos y combinados. Dentro de mi estructura de directorys, genera un directory de compilation con los files comprimidos / comstackdos.

¿Debo comprometer el directory de compilation para que tenga una copy de cada compilation / versión sin tener que volver a comstackrlo si necesito otra copy (para otro server decir …)?

Mantener la producción de compilation bajo control de versiones suele ser una buena idea. Permite que la salida se almacene en una estructura que refleje la input. Esto deja en claro qué input produjo qué salida. También permite un fácil acceso a la salida de cualquier versión sin reconstrucción.

Las razones por las que se descarta como una opción están relacionadas principalmente con el repository. Las razones incluyen cosas tales como que el repository es demasiado pequeño, el acceso es demasiado lento o simplemente no le gusta tener files de salida en el repository.

Pero, en general, no hay nada inherentemente malo en hacerlo. Y en muchas situaciones es valioso.

Aunque esta es una respuesta subjetiva, es poco común, creo, almacenar files binarys de compilation en su sistema de control de versiones. Ese es realmente el propósito de las tags.

En el momento de su lanzamiento, debería crear una label del estado del código completo, incluidos los scripts de construcción, labeldos con el número de versión actual. En cualquier momento se necesita una copy de una versión anterior, es una simple cuestión de verificar la versión labelda y comstackrla. La label contiene toda la información y el estado del código necesarios para duplicar exactamente la construcción en esa etapa.

Si desea save las construcciones en otro lugar, ese es otro asunto y realmente depende de usted. Lo más habitual es que no pertenezcan al control de versiones.

Voy a decir "no", el control de fuente no es el lugar para la salida de compilation. El control de fuente es para administrar, bueno, fuente: la intención es almacenar, versionar y proporcionar services de queueboración para el código.

Idealmente, el lugar correcto para las comstackciones es un server de compilation. Esto generalmente significa que no solo está capturando la salida de compilation (suponiendo que guarde los artefactos después de la compilation), sino que también está capturando información importante, como los parameters de compilation, algo que no obtiene implícitamente simplemente versionando la salida de compilation ( a less que tus scripts de compilation también estén allí).

Eche un vistazo al número 8 en Los 10 mandamientos de una buena administración de control de fonts . Por supuesto, esto es un poco subjetivo (como lo ilustran algunos de los comentarios), pero personalmente, no copio la salida de compilation. Tal vez la pregunta que debe hacerse es "por qué" desea versionarla y lo que extrañe al no hacerlo.