¿La mejor práctica es tener documentation y otros files relacionados con el proyecto en Git?

Tengo un proyecto asp.net mvc en Git. También tenemos muchos otros files, por ejemplo, documentation en * .pdf, scripts de bases de datos en .sql y models en forma de imágenes ( .png, * .jpg). También queremos tener esto en Git, pero la pregunta es ¿dónde?

Crear nuevas carpetas en el proyecto, por ejemplo, documentos, db-scripts, etc. y comprometerlo con el proyecto?

Crear una nueva twig con la documentation y el db-script?

Crear un nuevo repository git?

Su pregunta no es específica de Git sino que se aplica a cualquier sistema de control de versiones.

En general, es una buena idea mantener todos los activos de su proyecto (por ejemplo, código fuente, documentation, scripts, binarys) en la misma estructura de directorys, donde los diferentes activos se organizarían en subdirectorys. De esta forma, cuando alguien obtiene el proyecto del control de la fuente, obtienen todo lo relacionado con ese proyecto sin tener que search diferentes piezas en otros repositorys.

Cuando se trata específicamente de Git, una consideración a tener en count es si su proyecto tiene una gran cantidad de files binarys grandes (por ejemplo, audio, video, imágenes en bruto). El mecanismo de almacenamiento de Git es, de hecho, notoriamente ineficiente en el event handling grandes binarys que cambian a menudo :

De forma pnetworkingeterminada, Git comprime y almacena todas las versiones completas posteriores de los activos binarys, lo que obviamente no es óptimo si tiene muchos.

Si necesita almacenar binarys grandes en su repository de Git, debería considerar search en una extensión de Git llamada Almacenamiento de files grandes (LFS) de Git . Una vez que se instala esta extensión, Git almacenará binarys grandes en un repository remoto, pero aún hará que parezca que son parte del repository local.

Si bien es irrelevante la forma en que almacena su documentation (excepto el repository separado, a less que sea un submodule), definitivamente no desea utilizar formattings de file de text que no puedan producir un diff que lo haga notar.

Solo mantendría la documentation cerca del código en sí, definitivamente no en una twig separada, ya que los cambios en el documento deberían reflejar los cambios en el código y el control de versiones es importante en ambos.