¿Qué tipos de archivos de Visual Studio \ Visual C ++ deben comprometerse con el control de versiones?
En mi proyecto tengo los siguientes tipos de archivos:
aps
cpp
exe
filters
h
ico
idb
ipch
lastbuildstate
lib
log
manifest
obj
pch
pdb
rc
rc2
res
sdf
sln
suo
tlog
txt
user
vcxproj
Agradecería mucho un breve razonamiento para cada uno. Si alguno de ellos es controvertido, tenga en cuenta. Intencionalmente, incluso los tipos de archivos triviales para completar.
EDITAR
Por un lado, me gustaría ser independiente de la plataforma en el futuro. Por otro lado, en el futuro cercano me gustaría trabajar con miembros del equipo con configuraciones similares. La compatibilidad de carpetas entre las configuraciones es ciertamente una opción, por lo que los archivos de configuración que contienen rutas pueden incluirse si facilita el flujo de trabajo.
De nuevo, seguramente agradecería una explicación de qué es qué.
Respuestas:
Si:
No:
Varios de estos son dudosos porque ambos se pueden generar y mantener automáticamente. Y hay varios más que no aparecen en su lista. Principalmente preste atención a la ubicación del archivo. Si está en el directorio de su solución o proyecto, es muy probable que desee registrarlo. En los subdirectorios Debug o Release, es muy poco probable. Build + Clean elimina muchos de los archivos de ruido. Y por supuesto: check-in, renombrar el directorio del proyecto, check-out y verificar que se construye.
fuente
.vcxproj.filters
archivos?filters
ha estado en la lista "sí" desde la primera revisión de la respuestaDe tu lista elegiría esos:
En general, debe versionar todos los archivos necesarios para construir el proyecto. Los archivos generados automáticamente no deben archivarse en mi humilde opinión.
fuente
Según lo sugerido por Microsoft, los tipos de archivo que deben incluirse en el control de versiones:
Tipos de archivo que no deberían incluirse en:
Pero en caso de usar una herramienta externa en un archivo exe o una biblioteca externa, creo que también debería incluirse en el control de versiones
INFORMACIÓN: Qué archivos de Visual C ++ agregar al control de código fuente
Además, este enlace describe los Tipos de archivo para proyectos de Visual C ++ en Visual Studio 2017.
fuente
Si hace clic derecho sobre el proyecto, debería haber una opción "Agregar solución al control de código fuente" en el menú contextual.
Si usa esto, solo se agregarán los archivos que sean necesarios. Todos los archivos intermedios y de salida serán ignorados.
fuente
Las otras respuestas son excelentes; Solo pensé que contribuiría con una pequeña herramienta útil. Echa un vistazo a la plantilla .gitignore de Visual Studio en GitHub. Es una buena lista de archivos que se mantienen activamente fuera del control de versiones.
Y mientras lo hace, todo el repositorio de gitignore es un recurso muy útil para todo tipo de desarrollo, desde ActionScript hasta Zend . Si no usa Git, aún puede usar los archivos gitignore como referencia.
fuente
En general, debe agregar todos los archivos que aparecen en el Explorador de soluciones al control de versiones. Además, debe incluir los archivos .sln (archivo de solución) y .vcproj / .vcxproj / .vbproj / .csproj (archivo de proyecto).
Tenga en cuenta que si tiene un complemento de control de origen para Visual Studio, como TFS o AnkhSvn, no hay necesidad de preocuparse explícitamente por esto. Visual Studio sabe qué archivos deben estar en el control de versiones y proporciona los datos al complemento de control de origen. Solo si usa una herramienta externa (ej. TortoiseSVN) necesita tener esa lista.
fuente
Solo las onces que se requieren para construir tu objetivo. Creo que esto es solo .cpp .h .ico .rc .txt .manifest .rc2
No sé qué sdf, aps, filtros, usuario, no los he visto en mis compilaciones de C ++.
Solo mire y descubra si contienen código escrito del programador o si son generados por VS.
fuente
Al contrario de lo que se indicó en una respuesta anterior, me gustaría señalar que parece importante controlar la versión del archivo .opt para realizar un seguimiento de las opciones del usuario. Ver referencia a continuación:
https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx
fuente