应该将哪些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
我非常感谢每个人的简短推理。如果其中任何一个存在争议,请注意。为了完整性,我故意包括甚至是琐碎的文件类型。
修改
一方面,我希望将来能够独立于平台。另一方面,在不久的将来,我想与具有类似设置的团队成员合作。设置之间的文件夹兼容性当然是一个选项,因此如果它简化了工作流程,则可以包含保存路径的配置文件。
同样,我肯定会感谢解释什么是什么。
答案 0 :(得分:224)
是:强>
否:强>
其中一些是不确定的,因为它们都可以自动生成和维护。还有几个没有出现在您的列表中。主要注意文件的位置。如果它在您的解决方案或项目目录中,那么很可能您想要将其签入。在Debug或Release子目录中,则极不可能。 Build + Clean删除了大量的噪音文件。当然:签入,重命名项目目录,签出并验证它是否构建。
答案 1 :(得分:26)
从列表中我选择:
cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj
通常,您应该对构建项目所需的所有文件进行版本控制。不应将自动生成的文件存档为imho。
答案 2 :(得分:15)
根据Microsoft的建议,应包含在版本控制中的文件类型:
.mak,.dsp,.c,。rc,.rc2,.ico,。bmp,.txt,.def,.hpj,.bat,.rtf,.odl,.inf,.reg,.cnt ,.cpp,.cxx,.h,.hpp,.hxx,.inl,.tpl,.vtp和.mst ...
不应包含在的文件类型:
.pch,.mdp,.ncb,.clw,.obj,.exe,.aps,.cpl,.awk,.exp,.lib,.idb,.opt,.pdb,.map,.res ,.ilk,.scc,.bsc,.sbr,.dll和.tlb ...
但是如果在exe文件或外部库中使用外部工具,那么我认为它也应该包含在版本控制中
INFO: Which Visual C++ Files to Add to Source-Code Control
此外,此链接描述了Visual Studio 2017中的File Types for Visual C++ Projects。
答案 3 :(得分:7)
如果右键单击项目,则应在上下文菜单中选择“添加源控件解决方案”选项。
如果使用此选项,则只会添加必要的文件。所有中间文件和输出文件都将被忽略。
答案 4 :(得分:2)
其他答案非常好;我只是觉得我贡献了一个有用的小工具。查看GitHub上的Visual Studio .gitignore template。它是一个很好的积极维护的文件列表,通常不受版本控制。
虽然您正在使用它,但整个gitignore repository对于从ActionScript到Zend的各种开发都是非常有用的资源。如果你不使用Git,你仍然可以使用gitignore文件作为参考。
答案 5 :(得分:1)
通常,您应该将解决方案资源管理器中显示的所有文件添加到版本控制中。此外,您需要包含.sln(解决方案文件)和.vcproj / .vcxproj / .vbproj / .csproj文件(项目文件)。
请注意,如果您有Visual Studio的源代码控制插件,例如TFS或AnkhSvn,则无需明确关注此问题。 Visual Studio知道哪些文件需要在版本控制中,并将数据提供给源代码控制插件。只有当你使用外部工具(例如TortoiseSVN)时,你才需要有这样的清单。
答案 6 :(得分:0)
仅构建目标所需的onces。 我认为这只是.cpp .h .ico .rc .txt .manifest .rc2
我不知道sdf,aps,过滤器,用户是什么,还没有在我的C ++版本中看到它们。
只需查看并查看它们是否包含程序员编写的代码,或者是否由VS生成。
答案 7 :(得分:-2)
与之前的回答中所述相反,我想指出,版本控制.opt文件以跟踪用户选项似乎很重要。见下面的参考文献:
https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx