Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 Visual Studio 2010调试二进制文件的版本控制。保存哪些文件?_Visual Studio 2010_Git_Debugging_Version Control - Fatal编程技术网

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

Visual studio 2010 Visual Studio 2010调试二进制文件的版本控制。保存哪些文件?,visual-studio-2010,git,debugging,version-control,Visual Studio 2010,Git,Debugging,Version Control,我想对visual studio 2010调试版本进行版本设置。我要用git。现在,所有的项目文件都在“project”中,输出二进制文件由visual studio放在“project\debug”目录中。我在这里读了一些关于VisualStudio的忽略列表的问题,但是大多数问题都有忽略二进制文件的忽略列表,比如obj exe idb pdb ilk等 如果我想在将来调试我的exe,我需要保留哪些文件?有什么理由保留obj文件吗?VS是否在调试或跟踪崩溃期间使用它们?我想我至少应该保留pdb

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

如果我想在将来调试我的exe,我需要保留哪些文件?有什么理由保留obj文件吗?VS是否在调试或跟踪崩溃期间使用它们?我想我至少应该保留pdb文件和exe。这就是project.exe、project.pdb和vc100.pdb。但是vc100.idb,project.ilk,project.res呢。。。是否有一个忽略列表,它将忽略所有不需要保留二进制构建的内容,但保留所有存在的内容


我想确保如果用户在将来某个时候向我发送崩溃转储或报告问题,我可以返回到正在使用的版本并能够对其进行调试。我还希望在远程repo中提供二进制文件和调试文件,以便其他任何人也可以这样做。谢谢

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

由于二进制文件是从源代码构建的,并且您已经对源代码版本进行了控制,因此只需根据需要重新构建特定版本。它既能让你的版本控制系统保持精简和快速,又不会引起合并问题(二进制文件就是因为合并而臭名昭著)

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


但是,如果您觉得确实必须保留它们,那么只需将它们压缩并像普通文件一样使用它们来自的构建标记来存储它们。

我将在分支中保留project.exe和project.pdb。不需要像
*.obj
*.ilk
*.sdf
这样的其他文件。
vc100.*
文件也不是。我是在亲自与许多人交谈并回顾了以下内容后做出决定的:

这是:

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


srcsrv\srctool-r project.pdb

但我想将二进制文件保存在版本控制中。它们在一个单独的分支中,我知道如何处理合并冲突。为什么要将二进制文件保存在VC中?如果您对它们是如何更改的不感兴趣,那么只需将它们保存在文件系统中,因为它们是独立的、不同的文件。使用您的版本控制和版本编号方案,以便在提交错误报告时,您可以轻松构建匹配的版本。不要将二进制文件保存在源代码管理中。@cdeszaq这对组织来说更容易。但是,你为拥有一个臃肿的存储库而付出的代价超过了它的好处。DVCS并不特别适合大型二进制blob。SVN能够更好地处理它们,因为它不需要本地机器上的完整回购副本,但它仍然不是这项工作的理想工具。您提出了一个问题,现在告诉我们您将要做什么,但没有解释原因。为什么您认为某些文件是必需的(.pdb),而其他文件不是(.obj、sdf等)。你也说过组织起来更容易,但没有解释原因。对你来说容易些?你的公司更容易吗?@ChristianPayne我认为这是一个公平的观点,我会更新我的答案。