理解SVN中trunk,branches,tags

Subversion有一个很标准的目录结构:
project架构

 +-- trunk翻译

 +-- branches开发

 +-- tags (此目录只读)权限控制

这个标准的目录结构咱们在大多数的开源项目中都能看到,这是由于基于这套标准目录结构为软件开发提供了一种很是好的宏观版本库管理机制(特别是在产品类项目中)。产品

trunk为主开发目录,branches为分支开发目录,tags为存在目录io

1 Trunk软件

Trunk中文翻译为“主干”的意思,在项目运做过程当中,平常的开发和管理资料都在此目录中进行维护和更新。权限

2 Branchesbug

Branches的中文意思为“分支”,在项目运做过程当中,存放阶段性成果(版本),这些阶段性成果是可维护(包括为客户定制化的版本)。项目

3 tags

tag的中文意思为“标签”,此目录为一些阶段性成果进行存档。为只读目录,不容许进行修改。

4 使用实例

好比开发项目project。当前项目进展到版本3.0.0.140224

Trunk目录中只存储当前最新的开发版本。

Branches目录中存储每一个版本最新的子版本。

Tags目录中存储全部发布的版本。包括标准版本和标准版本的各个子版本。

此时可能会出现的目录结构以下:

project

|

+-- trunk

+ |

+ +----- main.cs (3.0)

+

+-- branches

+ |

+ +-- r1.3.0.120422

+ + |

+ + +---- main.cs (1.1版本的最新文件)

+ +

+ +-- r2.1.0.130422

+ |

+ +---- main.cs (2.2版本的最新文件)

+

+-- tags (此目录只读)

|

+-- r1.0.0.120422

+ |

+ +---- main.cs (1.0版本的发布文件)

+

+-- r1.1.0.120622

+ |

+ +---- main.cs (1.1版本的发布文件)

+

+-- r1.2.0.121122

+ |

+ +---- main.cs (1.2版本的发布文件)

+

+-- r1.3.0.130422

+ |

+ +---- main.cs (1.3版本的发布文件)

+

+-- r2.0.0.130522

+ |

+ +---- main.cs (2.0版本的发布文件)

+

+-- r2.1.0.131222

|

+---- main.cs (2.1版本的发布文件)

 

 

附件:

版本号定修改规则

 * 主版本号(1)

:当功能模块有较大的变更,好比增长多个模块或者总体架构发生变化。此版本号由项目决定是否修改。

* 子版本号(1):当功能有必定的增长或变化,好比增长了对权限控制、增长自定义视图等功能。此版本号由项目决定是否修改。 * 阶段版本号(1)

:通常是 Bug 修复或是一些小的变更,要常常发布修订版,时间间隔不限,修复一个严重的bug便可发布一个修订版。此版本号由项目经理决定是否修改。

* 日期版本号(051021):用于记录修改项目的当前日期,天天对项目的修改都须要更改日期版本号。此版本号由开发人员决定是否修改。

 * 希腊字母版本号(beta):此版本号用于标注当前版本的软件处于哪一个开发阶段,当软件进入到另外一个阶段时须要修改此版本号。此版本号由项目决定是否修改。

相关文章
相关标签/搜索