不应将哪些项目文件签入SVN

时间:2008-10-09 06:54:58

标签: svn

此刻我会检入所有文件(包括dll,VS解决方案文件,图片等)。我经常需要将这些文件签出到登台服务器或其他开发人员,因此在那里拥有这些文件意味着项目已经准备就绪。

这里最好的做法是什么?

编辑:如果我不添加生成的文件,如dll文件,我如何确保在更新登台服务器时它们存在?

6 个答案:

答案 0 :(得分:4)

我通常只检查未生成的文件 - 所以源文件,配置文件,项目文件,而不是目标文件 - dll的exe文件等等。

答案 1 :(得分:2)

就项目文件而言,请勿检入“.csproj.user”文件或“.suo”文件。

此外,“bin”和“obj”文件夹中没有任何内容。

答案 2 :(得分:1)

如果每个人都使用相同的IDE - 也请检查项目文件。它有助于使用正确的格式化程序设置,构建设置等。如果不是这种情况(例如,对于开源项目),只需保留代码和所需的构建文件。没人关心你正在使用什么IDE。

同时忽略编译或生成的所有内容。相反,请确保您的构建过程在需要时执行此操作。

我喜欢Maven处理这些东西的方式。我只看看项目,它只包含源代码和没有依赖项,如果我想将它导入eclipse,我只需要运行mvn eclipse:eclipse并为我设置所有项目。如果我想摆脱特定于eclipse的垃圾,我会运行mvn eclipse:clean。其他IDE也是如此。

答案 3 :(得分:0)

我签入项目的一部分或者是项目的依赖项,包括但不限于它所依赖的程序集,用于生成数据库和测试数据的SQL脚本,单元测试,文档,图表,漂亮开发者需要的任何其他东西。至于我没有包含的是将生成的dll,使用项目/解决方案生成的pdb和xml注释。

但作为旁注,有一个例外。 SOme项目可能要求某人有权访问该解决方案,但可能无法编译/构建它。在这些情况下,根据项目的内容,我可能会包含最新的构建二进制文件。

答案 4 :(得分:0)

我只检查在包含.lib甚至dll的其他计算机中编译项目所需的文件,但不检查用垃圾填充存储库的预编译头文件或每用户文件

答案 5 :(得分:0)

任何生成的文件(编译或发布的tarball等)都应该通过构建/发布机制签入版本控制系统的不同区域。

相关问题