¿Pone en el control de versiones files que no son de código, como DLL, images y flv?

Bueno, en términos relativos, no cambian a menudo, pero un aspecto positivo es que puedes visitar un website y esperar que funcione y se vea normal en tu máquina local.

¿Qué haces?

Puse todos los "materiales originales" en el control de la versión, incluidas las imágenes, las jarras / bibliotecas externas y otros files de datos que se utilizan como inputs o resources.

No coloco ningún artefacto generado en el control de la versión. Es decir, cualquier cosa generada por la construcción se considera "ignorada" o "privada", no bajo control de fuente.

En términos generales, creo que otro desarrollador debería poder verificar el proyecto y realizar una compilation de un clic (o de un solo command) para generar una instancia de trabajo del producto. Después de hacerlo, la vista del desarrollador no debe contener ningún delta con la fuente controlada por la versión.

Es decir, la compilation debería poder completar una versión "bloqueada" del código sin la necesidad de realizar ningún pago, etc. y también sin la necesidad de adquirir dependencies externas adicionales (en términos generales).

Sí. Regularmente ponemos dependencies externas y cualquier otra cosa requerida para la compilation bajo control de fuente. De esta forma, nos aseguramos de que una máquina limpia pueda alistrse en las fonts y comstackr desde sctratch, sin que alguien instale cosas manualmente en ella.

Sí, principalmente.

Los únicos files que dejo fuera del control de la fuente es el 'contenido' del sitio, que cubre principalmente las imágenes y los documentos cargados por los usuarios del website. Las imágenes que conforman el "aspecto" del sitio (generalmente en las páginas maestras o cargadas a través de CSS) que no son editables entran en control de fuente.

Las DLL y otros elementos necesarios para comstackr el sitio (o necesarios para la funcionalidad del sitio, como javascript) están definitivamente incluidos. Los desarrolladores deberían poder consultar un website desde el control de origen y tener todo lo que necesitan para un sitio en funcionamiento.

Generalmente sí Debería poder tomar un proyecto del control de código fuente y buildlo, sin más intervención, en una máquina limpia desconectada del rest de su entorno de compilation.

Para los files que rara vez cambian o para los files binarys en general, su proveedor de control de origen puede proporcionar algunas opciones, como "Almacenar todo el file por revisión": esta configuration evita que el progtwig de control de origen intente calcular diffs cuando ingresa una nueva visión (que es apropiado para files ASCII, pero no para binarys).

Por otro lado, si hay una unidad de networking o algo así que SIEMPRE estará disponible para todas las máquinas que construyen su proyecto, puede salirse con la suya haciendo reference a ese recurso remoto (ya sea una unidad verdadera o incluso una URL a una image) siempre y cuando se asegure de que se sienta cómodo con el process de copy de security en ese sistema remoto.

El control de fuente proporciona dos características importantes: fuente compartida entre desarrolladores y copy de security de origen: mucha gente se olvida de la segunda hasta que es demasiado tarde 🙂 Yo mismo una vez antes. ¡Aprendí mi lección! Jaja.

Sí, incluso ponemos las herramientas que usamos para build el producto en control de fuente.

Una synchronization y tiene todo lo que necesita en su caja para build el producto. Si no lo hace, presentará algo no determinista: los desarrolladores que no actualicen manualmente las dependencies no verificadas perderán time rastreando problemas de configuration incorrecta en sus máquinas de testing.

También existe el argumento para colocar los volcados de la database en el control de la versión / fuente.

Especialmente si el esquema de la database está evolucionando durante el desarrollo. (Lo sé, ese es otro tema por completo)

Sí.

Debería poder get el proyecto del control de origen y tener todo lo necesario para build sin saltar por los aros.

No hay nada peor que perder el time tratando de encontrar dependencies para build con éxito. 🙁