使用SVN的项目代码管理

use*_*348 2 .net svn tortoisesvn

我已经开始研究一个项目了.我想使用subversion存储这个项目.我已经安装了VisualSVN服务器和TortoiseSVN.

该项目由几个小项目组成.我每次都需要其中一些,其中一些不是.问题是:

  1. 我应该将整个项目存储在一个subversion项目目录中吗?
  2. 那个soulution文件(*.sln)怎么样?它应该存储在SVN中吗?
  3. 项目是某种框架(稍后将在其他项目中使用).但是每当我使用基础项目时,我都需要它.有没有方便的方法一次从不同的SVN目录检出/导出我的基础和框架项目?
  4. 如果我只需要在项目的一部分工作,我该怎么办?

小智 5

  1. 是的,简而言之 - 但是你以后可以改变主意

    subversion项目的典型目录结构是:

    project/branches
    project/trunk
    project/tags
    
    Run Code Online (Sandbox Code Playgroud)

    您最初将所有代码放在trunk中,然后在必要时创建标记和分支.

    您可能想要考虑最初将所有内容保存在一个svn项目文件夹结构中,因为它会更简单(您不必乱用解决方案文件).

    如果您稍后选择将项目的中断部分放入单独的svn项目中,则可以执行'svn rename'并为它们创建标准分支,主干和标记文件夹.您只需要修改解决方案文件中的引用或使用svn:externals方法.

  2. 绝对 - 您应该将所有内容存储在不是由构建生成的存储库中.创建svn:忽略生成的文件夹上的属性(例如obj和bin目录),因此当您忘记添加重要文件时,'svn status'将为您提供有用的反馈.

  3. 有一个机制svn:externals,它允许您创建到subversion存储库(或外部subversion存储库)中另一个位置的链接 - 这可能有助于您从单个文件夹中签出.您可能需要考虑对框架的特定标记进行svn:external引用,以便其他人对框架的更改不会破坏您的项目.

    svn:externals可以让事情变得相当混乱,但请谨慎使用.

  4. 您可以在subversion中的文件夹层次结构中的任何级别签出