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

应将哪些 VisualStudioVisualC + + 文件类型提交给版本控制?
在我的项目中,我有以下文件类型:

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

我非常希望每个人都能有一个简短的理由。如果其中有任何争议,请注意。为了完整起见,我有意包含了一些简单的文件类型。

剪辑

一方面,我希望将来能够独立于平台。另一方面,在不久的将来,我希望与具有类似设置的团队成员一起工作。设置之间的文件夹兼容性当然是一个选项,因此如果它简化了工作流,那么可以包含保存路径的配置文件。再说一遍,如果你能解释一下什么是什么,我会很感激的。

55652 次浏览

只有建立目标所需的一次。 我认为这只是。 cpp。 h.ico

我不知道 sdf、 aps、 filter、 user 是什么,在我的 C + + 版本中没有看到它们。

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

从你的清单中,我会选择这些:

cpp
filters
h
ico
manifest
rc
rc2
sln
txt
vcxproj

一般来说,您应该对生成项目所需的所有文件进行版本控制。自动生成的文件不应该被存档。

是的:

  • Cpp: 源代码
  • 过滤器: 项目文件
  • H: 源代码
  • Ico: 资源
  • 资源脚本
  • Rc2: 资源脚本
  • 项目文件
  • Project 元素
  • 项目文件

答案是否定的:

  • Aps: 最后一个资源编辑器状态
  • 构建结果
  • Idb: 构建状态
  • Build helper
  • Lastbuildstate: 构建助手
  • Lib: 构建结果。可以是第三方
  • Log: 构建日志
  • 清单: 构建助手。可以自己编写。
  • Obj: build helper
  • 编译助手
  • Pdb: 构建结果
  • 建造辅助工具
  • 智能感知数据库
  • Suo: 解决方案用户选项
  • Tlog: 构建日志
  • 用户: 调试设置

其中一些是可疑的,因为它们都可以自动生成并自己维护。还有几个没有出现在你的清单上。主要注意文件的位置。如果它在您的解决方案或项目目录中,那么您很可能希望签入它。那么在调试或发布子目录中是不太可能的。Build + Clean 删除了许多噪声文件。当然还有: 签入、重命名项目目录、签出并验证它是否构建。

如果右键单击该项目,则在上下文菜单中应该有一个“向源代码管理添加解决方案”选项。

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

通常,应将“解决方案资源管理器”中显示的所有文件添加到版本控制中。此外,还需要包括。Sln (解决方案文件)和。Vcproj/.Vcxproj/.Vbproj/.Csproj 文件(项目文件)。

请注意,如果您有一个针对 Visual Studio 的源代码管理插件,比如 TFS 或 AnkhSvn,那么就没有必要显式地关注这一点。VisualStudio 知道哪些文件需要在版本控制中,并将数据提供给源代码管理插件。只有在使用外部工具(例如。TortoiseSVN)你需要这样的列表吗。

根据 Microsoft 的建议,版本控制中应包含的文件类型:

.麦先生。Dsp,.C,.RC.Rc2.伊科。你看。短信。当然。HPJ.蝙蝠。Rtf.好吧。如果。Reg.中央电视台。中心。你好。哦。Hpp.你好。内,。TPL,.VTP,还有。最..。

不应该包含在下列文件中的文件类型:

.Pch.国防部长。国家广播公司。CWW.对不起。前任。阿普斯。中央情报局。呃。解释。Lib.Idb,.选吧。PDB.地图。保留。同上。谢谢。理学学士。兄弟。然后。TLB...

但是如果在 exe 文件或外部库中使用外部工具,那么我认为它也应该包含在版本控制中

INFO: 要添加到源代码控件中的 VisualC + + 文件

此外,此链接描述 VisualStudio2017中的 Visual C + + 项目的文件类型

其他的答案都很好; 我只是想贡献一个有用的小工具。看看 GitHub 上的 模板。这是一个很好的积极维护的文件列表,通常不受版本控制。

同时,整个 吉提诺存储库对于从 动作剧本赞德的各种开发都是非常有用的资源。如果不使用 Git,仍然可以使用 gitignore 文件作为参考。

与前面的答案相反,我想指出的是,版本控制似乎很重要。选择文件,以便跟踪用户选项。见下文参考:

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