Visual Studio 2010调试二进制文件的版本控制。要保留哪些文件?

时间:2012-01-19 18:35:58

标签: visual-studio-2010 git debugging version-control

我想对我的visual studio 2010调试版本进行版本控制。我要用git。现在所有项目文件都在'project'中,输出二进制文件由visual studio放在目录'project \ debug'中。我在这里阅读了一些忽略Visual Studio列表的问题,但是大多数问题都忽略了二进制文件,例如obj exe idb pdb ilk等。

如果我希望以后能够调试我的exe,我需要保留哪些文件?是否有任何理由保留obj文件? VS在调试或跟踪崩溃时是否使用它们?我以为我应该至少保留pdb文件和exe。那就是project.exe,project.pdb和vc100.pdb。但是vc100.idb,project.ilk,project.res等等呢?是否有一个忽略列表会忽略保留二进制构建但不保留所有内容所需的所有内容?

我想确保用户在未来的某个时刻向我发送崩溃转储或报告问题,我可以回到正在使用的版本并能够调试它。我还希望在远程仓库中提供二进制文件和调试文件,这样其他任何人都可以。谢谢!

2 个答案:

答案 0 :(得分:3)

不要将二进制文件保留在版本控制中。相反,从源代码构建。

由于二进制文件是从源代码构建的,并且您已经对源版本进行了版本化,因此只需根据需要重新构建特定版本。它既可以使您的版本控制系统保持精简和快速,也不会导致合并头痛(二进制文件因此而臭名昭着)。

因此,答案是不要在版本控制中保留任何二进制文件。

但是,如果您认为自己必须保留它们,那么只需将它们压缩并使用它们来自的构建标记将其存储为普通文件。

答案 1 :(得分:-2)

我要将project.exe和project.pdb保存在分支中。不需要*.obj*.ilk*.sdf等其他文件。 vc100.*文件也不是。{1}}。我在与一些人亲自交谈后对此做出了决定:

File Types Created for Visual C++ Projects

和此:

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

虽然这个问题/答案没有回答我的问题,但它给了我很多好的信息。我还查看了我的project.pdb中的所有文件引用,以确认我需要保留的项目中的哪些文件。我在windows的调试工具中使用了这个命令:

srcsrv \ srctool -r project.pdb