哪个Visual Studio \ Visual C文件类型应该提交给版本控制?
在我的项目中,我有以下文件类型:
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
我非常感谢每个人的简短推理 . 如果其中任何一个存在争议,请注意 . 为了完整性,我故意包括甚至是琐碎的文件类型 .
EDIT
一方面,我希望将来能够独立于平台 . 另一方面,在不久的将来,我想与具有类似设置的团队成员合作 . 设置之间的文件夹兼容性当然是一种选择,因此如果简化工作流程,则可以包含保存路径的配置文件 .
再一次,我肯定会感谢解释什么是什么 .
8 回答
从你的清单中我选择那些:
通常,您应该对构建项目所需的所有文件进行版本控制 . 不应将自动生成的文件存档 .
Yes:
cpp:源代码
过滤器:项目文件
h:源代码
ico:资源
rc:资源脚本
rc2:资源脚本
sln:项目文件
txt:项目元素
vcxproj:项目文件
No:
aps:最后一个资源编辑器状态
exe:构建结果
idb:构建状态
ipch:构建帮助器
lastbuildstate:构建帮助器
lib:构建结果 . 可以是第三方
log:构建日志
manifest:构建帮助器 . 可以自己写 .
obj:构建帮助器
pch:构建帮手
pdb:构建结果
res:构建帮助器
sdf:intellisense dbase
suo:解决方案用户选项
tlog:构建日志
user:调试设置 . Do preserve if just one dev or custom debug settings
其中一些是不确定的,因为它们都可以自动生成和维护 . 还有几个没有出现在您的列表中 . 主要注意文件的位置 . 如果它在您的解决方案或项目目录中,那么很可能您想要将其签入 . 在Debug或Release子目录中,则极不可能 . Build Clean删除了大量的噪音文件 . 当然:签入,重命名项目目录,签出并验证它是否构建 .
正如Microsoft所建议的那样,应该包含在版本控制中的文件类型:
不应包含在的文件类型:
但是如果在exe文件或外部库中使用外部工具,那么我认为它也应该包含在版本控制中
INFO: Which Visual C++ Files to Add to Source-Code Control
此外,此链接描述了Visual Studio 2017中的File Types for Visual C++ Projects .
如果右键单击项目,则应在上下文菜单中选择“添加源控件解决方案”选项 .
如果使用此选项,则只会添加必要的文件 . 所有中间和输出文件都将被忽略 .
其他答案都很棒;我只是觉得我会贡献一个有用的小工具 . 查看GitHub上的Visual Studio .gitignore template . 这是一个很好的积极维护的文件列表,通常不受版本控制 .
当你在它的时候,整个gitignore repository对于从ActionScript到Zend的各种开发都是非常有用的资源 . 如果您不使用Git,您仍然可以使用gitignore文件作为参考 .
通常,您应将解决方案资源管理器中显示的所有文件添加到版本控制中 . 此外,您还需要包含.sln(解决方案文件)和.vcproj / .vcxproj / .vbproj / .csproj文件(项目文件) .
请注意,如果您有Visual Studio的源代码控制插件,例如TFS或AnkhSvn,则无需明确关心此操作 . Visual Studio知道哪些文件需要在版本控制中,并将数据提供给源控件插件 . 只有当您使用外部工具(例如TortoiseSVN)时,您才需要拥有这样的列表 .
只有构建目标所需的onces . 我认为这只是.cpp .h .ico .rc .txt .manifest .rc2
我不知道sdf,aps,过滤器,用户是什么,还没有在我的C版本中看到它们 .
只需查看并查看它们是否包含程序员编写的代码,或者它们是否由VS生成 .
与之前的回答中所说的相反,我我想指出,版本控制.opt文件似乎很重要,以便跟踪用户选项 . 见下面的参考:
https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx