C++ 在使用IDE开发和测试时,SVN存储源代码的最佳实践是什么?

C++ 在使用IDE开发和测试时,SVN存储源代码的最佳实践是什么?,c++,eclipse,svn,ide,C++,Eclipse,Svn,Ide,我在我的电脑上做了大量的个人开发工作,在web项目中使用了TortoiseSVN(我在windows上),但没有对其他语言使用任何版本控制。无论如何,很快我将开始一个体面的C++项目,并尝试使用它来支持它。 对于web开发,我通常只使用notepad++,使用SVN管理它非常容易(只需提交整个源文件夹)。然而,对于这个项目,我将使用一个IDE(很可能是EclipseCDT或VisualStudio),我想知道管理所有IDE、项目和二进制文件的最佳实践是什么。我的猜测是将IDE项目置于版本控制之外

我在我的电脑上做了大量的个人开发工作,在web项目中使用了TortoiseSVN(我在windows上),但没有对其他语言使用任何版本控制。无论如何,很快我将开始一个体面的C++项目,并尝试使用它来支持它。 对于web开发,我通常只使用notepad++,使用SVN管理它非常容易(只需提交整个源文件夹)。然而,对于这个项目,我将使用一个IDE(很可能是EclipseCDT或VisualStudio),我想知道管理所有IDE、项目和二进制文件的最佳实践是什么。我的猜测是将IDE项目置于版本控制之外,并将所有源文件指向SVN,这样所有的构建和项目文件都不会提交。这样,SVN中唯一的文件就是.cpp和.h文件

然而,如果我想切换到一个新的分支,那么我需要将所有源文件和头文件的位置更新到新文件夹中,这似乎是一个巨大的麻烦

处理这个问题的最好方法是什么


感谢Visual Studio,有一个插件可以为您管理文件。只要这些文件是项目的一部分,插件就会将它们放入源代码控制中。有关插件信息,请参阅。请注意,不支持Visual Studio的快速版本


我确信eclipse也有一个SVN插件。

好的,看来我在第一轮提问中误解了问题的目的。现在我假设什么是真正被问到的,什么是要置于源代码控制之下的,什么不是

当然,除了临时/临时文件之外,其他都是

如果您安装了GitExtensions,它马上就具有填充.gitignore文件的功能。当然,这取决于你的语言调整。当然,解决方案,项目,使文件在控制之下。存储某些IDE首选项的用户文件不支持。由于IDE和源代码管理都被广泛使用,所以内容在很多年里都是相当分离的,并且在您这样做时应该是非常明显的


外部依赖通常也应在回购协议中,但应选择哪一种。一些将所有内容存储在一起,另一些保留一个依赖关系repo,其他每个组件单独的repo——所有这些都取决于实际的组件和工作流。您还可以用一个信息文件替换deps的物理存储,该文件具有指向所用版本的稳定链接。它也可能会在以后的依赖关系的第一次更改中涉及。

我建议使用现代代码控制系统,并在上个千年离开SVN。吉特或汞。如今,SVN的最佳实践是从它转换过来。IDE为它们提供了插件,也为SVN提供了插件,因此无需担心。如果你是说SVN绝对不是你的朋友,那么不管我使用SVN还是Git,同样的问题仍然存在。另外,SVN在一台电脑上进行个人发展时似乎更好相信我,这并不更好。远远超过。但正如我之前所说的,不要担心IDE对其中任何一个的支持,它是存在的。我知道IDE有插件,但我宁愿自己管理它,所以我不依赖于一个IDE。然后让我们假设我使用了git,那么我将如何设置它呢?我们最近在这里进行了一些相关的讨论:我知道许多IDE都集成了git,但我宁愿不使用它们。我更喜欢自己控制它的灵活性,即使这是一个多一点的工作。而且,如果我choose@user2443357-如果您在IDE之外管理它,则可能需要更多的工作,具体取决于您的文件。例如,当向SVN添加项目时,ankhsvn足够聪明,知道不将输出目录(二进制文件)以及其他文件(例如那些讨厌的VS.sou文件)包含到源代码管理中。此外,您不必专门使用集成版本控制。我碰巧在我的项目中同时使用了这两种方法(annkhsvn+tortoise)。在Eclipse中,您可能能够也可能无法做到这一点。