Which Visual C++ file types should be committed to version control?

后端 未结 8 964
我寻月下人不归
我寻月下人不归 2020-12-02 03:59

Which Visual Studio \\ Visual C++ file types should be committed to version control?
In my project I have the following file types:

aps
cpp
exe
filters
h         


        
相关标签:
8条回答
  • 2020-12-02 04:03

    If you right click over the project there should be a "Add Solution to Source Control" option in the context menu.

    If you use this, only those files that are necessary will be added. All the intermediate and output files will be ignored.

    0 讨论(0)
  • 2020-12-02 04:07

    Yes:

    • cpp: source code
    • filters: project file
    • h: source code
    • ico: resource
    • rc: resource script
    • rc2: resource script
    • sln: project file
    • txt: project element
    • vcxproj: project file

    No:

    • aps: last resource editor state
    • exe: build result
    • idb: build state
    • ipch: build helper
    • lastbuildstate: build helper
    • lib: build result. Can be 3rd party
    • log: build log
    • manifest: build helper. Can be written yourself.
    • obj: build helper
    • pch: build helper
    • pdb: build result
    • res: build helper
    • sdf: intellisense dbase
    • suo: solution user options
    • tlog: build log
    • user: debug settings. Do preserve if just one dev or custom debug settings

    Several of these are iffy because they can both be auto-generated and maintained yourself. And there are several more that don't appear in your list. Primarily pay attention to the location of the file. If it is in your solution or project directory then it's highly likely you want to check it in. In the Debug or Release subdirectories then highly unlikely. Build + Clean removes a lot of the noise files. And of course: check-in, rename the project directory, check-out and verify that it builds.

    0 讨论(0)
  • 2020-12-02 04:09

    Contrary to what was stated in an earlier answer, I would like to point out that it appears to be important to version control the .opt file in order to keep track of user options. See reference below:

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

    0 讨论(0)
  • 2020-12-02 04:10

    Only the onces that are required for building your target. I think this is just .cpp .h .ico .rc .txt .manifest .rc2

    I don't know what sdf, aps, filters, user is, haven't seen them in my C++ builds.

    Just look and find out if they contain programmer written code or if they are generated by VS.

    0 讨论(0)
  • 2020-12-02 04:16

    As suggested by Microsoft, filetypes that should be included in version control:

    .mak, .dsp, .c, .rc, .rc2, .ico, .bmp, .txt, .def, .hpj, .bat, .rtf, .odl, .inf, .reg, .cnt, .cpp, .cxx, .h, .hpp, .hxx, .inl, .tpl, .vtp, and .mst...

    Filetypes that shouldn't be included in:

    .pch, .mdp, .ncb, .clw, .obj, .exe, .aps, .cpl, .awk, .exp, .lib, .idb, .opt, .pdb, .map, .res, .ilk, .scc, .bsc, .sbr, .dll, and .tlb...

    But in case using an external tool in exe file or external library then I think it should also be included in version control

    INFO: Which Visual C++ Files to Add to Source-Code Control

    In addition, this link describes the File Types for Visual C++ Projects in Visual Studio 2017.

    0 讨论(0)
  • 2020-12-02 04:20

    From your list I'd choose those:

    cpp
    filters
    h
    ico
    manifest
    rc
    rc2
    sln
    txt
    vcxproj
    

    Generally, you should version all files necessary to build the project. Automatically generated files should not be archived imho.

    0 讨论(0)
提交回复
热议问题