首页 文章

应该将哪些Visual C文件类型提交给版本控制?

提问于
浏览
160

哪个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 回答

  • 0

    从你的清单中我选择那些:

    cpp
    filters
    h
    ico
    manifest
    rc
    rc2
    sln
    txt
    vcxproj
    

    通常,您应该对构建项目所需的所有文件进行版本控制 . 不应将自动生成的文件存档 .

  • 2

    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删除了大量的噪音文件 . 当然:签入,重命名项目目录,签出并验证它是否构建 .

  • 1

    正如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, . are ,. 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 .

  • 216

    如果右键单击项目,则应在上下文菜单中选择“添加源控件解决方案”选项 .

    如果使用此选项,则只会添加必要的文件 . 所有中间和输出文件都将被忽略 .

  • -2

    其他答案都很棒;我只是觉得我会贡献一个有用的小工具 . 查看GitHub上的Visual Studio .gitignore template . 这是一个很好的积极维护的文件列表,通常不受版本控制 .

    当你在它的时候,整个gitignore repository对于从ActionScriptZend的各种开发都是非常有用的资源 . 如果您不使用Git,您仍然可以使用gitignore文件作为参考 .

  • 26

    通常,您应将解决方案资源管理器中显示的所有文件添加到版本控制中 . 此外,您还需要包含.sln(解决方案文件)和.vcproj / .vcxproj / .vbproj / .csproj文件(项目文件) .

    请注意,如果您有Visual Studio的源代码控制插件,例如TFS或AnkhSvn,则无需明确关心此操作 . Visual Studio知道哪些文件需要在版本控制中,并将数据提供给源控件插件 . 只有当您使用外部工具(例如TortoiseSVN)时,您才需要拥有这样的列表 .

  • 7

    只有构建目标所需的onces . 我认为这只是.cpp .h .ico .rc .txt .manifest .rc2

    我不知道sdf,aps,过滤器,用户是什么,还没有在我的C版本中看到它们 .

    只需查看并查看它们是否包含程序员编写的代码,或者它们是否由VS生成 .

  • 14

    与之前的回答中所说的相反,我我想指出,版本控制.opt文件似乎很重要,以便跟踪用户选项 . 见下面的参考:

    https://msdn.microsoft.com/en-us/library/aa278994(v=vs.60).aspx

相关问题