Quais tipos de arquivo do Visual Studio \ Visual C ++ devem ser comprometidos com o controle de versão?
No meu projeto, tenho os seguintes tipos de arquivo:
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
Eu apreciaria muito um breve raciocínio para cada um. Se algum deles for controverso, observe. Estou intencionalmente incluindo até tipos de arquivos triviais para garantir a integridade.
EDITAR
Por um lado, gostaria de ser independente de plataforma no futuro. Por outro lado, em um futuro próximo, gostaria de trabalhar com membros da equipe com configurações semelhantes. A compatibilidade de pastas entre as configurações é certamente uma opção; portanto, os arquivos de configuração que contêm caminhos podem ser incluídos se facilitar o fluxo de trabalho.
Mais uma vez, eu certamente apreciaria uma explicação sobre o que é o quê.
fonte
Respostas:
Sim:
Não:
Vários deles são duvidosos porque podem ser gerados automaticamente e mantidos. E há vários outros que não aparecem na sua lista. Preste atenção principalmente ao local do arquivo. Se estiver no diretório de solução ou projeto, é muito provável que você queira fazer check-in. Nos subdiretórios Debug ou Release, é altamente improvável. O Build + Clean remove muitos arquivos de ruído. E, é claro: faça o check-in, renomeie o diretório do projeto, faça o check-out e verifique se ele foi construído.
fonte
.vcxproj.filters
arquivos?filters
estão na lista "sim" desde a primeira revisão da respostaNa sua lista, eu escolheria os seguintes:
Geralmente, você deve versão todos os arquivos necessários para construir o projeto. Arquivos gerados automaticamente não devem ser arquivados em imho.
fonte
Conforme sugerido pela Microsoft, tipos de arquivos que devem ser incluídos no controle de versão:
Tipos de arquivos que não devem ser incluídos em:
Mas no caso de usar uma ferramenta externa no arquivo exe ou na biblioteca externa, acho que ela também deve ser incluída no controle de versão
INFO: quais arquivos do Visual C ++ para adicionar ao controle de código-fonte
Além disso, este link descreve os tipos de arquivo para projetos do Visual C ++ no Visual Studio 2017.
fonte
Se você clicar com o botão direito do mouse no projeto, deve haver uma opção "Adicionar solução ao controle de origem" no menu de contexto.
Se você usar isso, apenas os arquivos necessários serão adicionados. Todos os arquivos intermediários e de saída serão ignorados.
fonte
As outras respostas são excelentes; Eu apenas pensei em contribuir com uma pequena ferramenta útil. Confira o modelo .gitignore do Visual Studio no GitHub. É uma boa lista de arquivos mantidos ativamente que geralmente são mantidos fora do controle de versão.
E enquanto você está nisso, todo o repositório gitignore é um recurso muito útil para todos os tipos de desenvolvimento, do ActionScript ao Zend . Se você não usar o Git, ainda poderá usar os arquivos do gitignore como referência.
fonte
Em geral, você deve adicionar todos os arquivos que aparecem no Gerenciador de Soluções ao controle de versão. Além disso, você precisa incluir os arquivos .sln (arquivo de solução) e .vcproj / .vcxproj / .vbproj / .csproj (arquivo de projeto).
Observe que, se você tiver um plug-in de controle de origem para o Visual Studio, como TFS ou AnkhSvn, não há necessidade de se preocupar explicitamente com isso. O Visual Studio sabe quais arquivos precisam estar no controle de versão e fornece os dados ao plug-in de controle de origem. Somente se você usar uma ferramenta externa (por exemplo, TortoiseSVN), precisará dessa lista.
fonte
Somente as forças necessárias para construir seu alvo. Eu acho que isso é apenas .cpp .h .ico .rc .txt .manifest .rc2
Eu não sei o que sdf, aps, filtros, usuário é, não os vi em minhas compilações de C ++.
Basta procurar e descobrir se eles contêm código escrito pelo programador ou se são gerados pelo VS.
fonte
Ao contrário do que foi declarado em uma resposta anterior, gostaria de salientar que parece ser importante controlar a versão do arquivo .opt para acompanhar as opções do usuário. Veja a referência abaixo:
https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx
fonte