可能重复:“分支”,“标签”和“主干”的含义是什么?
Subversion中的trunk,branch和tag是什么?使用它们的最佳实践是什么?
在Visual Studio 2008中我可以使用哪些工具进行Subversion?
trunk 是SVN存储库中的主要开发线 .
branch 是开发的副线,用于在不使用干线版本的用户的情况下进行更大,实验性或中断性工作 . 此外,分支可用于为同一产品的多个版本创建开发线,例如有一个地方可以将错误修正反向移植到稳定版本中 .
最后, tags 是用于突出显示存储库历史中值得注意的修订的标记,通常是"this was released as 1.0"之类的东西 .
请参阅HTML版“Version Control with Subversion”,尤其是Chapter 4: Branching and Merging或以纸张形式购买(例如从amazon获取),以深入讨论技术细节 .
正如其他人(例如下面的Peter Neubauer)那样, /tags /branches 和 /trunk 目录的底层实现仅为conventional,并且不会以任何方式强制执行 . 违反这些惯例会导致混乱,因为这会破坏其他人访问存储库的习惯和期望 . 必须特别注意避免将新的更改提交到标记中,这些标记会被冻结 .
/tags
/branches
/trunk
我使用TortoiseSVN但没有Visual Studio集成 . 我始终在第二台显示器上打开"Check for modifications"对话框,因此我可以跟踪我触摸过的文件 . 但请参阅“Best SVN Tools”问题,获取更多建议 .
"trunk","branches"和"tags"目录是Subversion中的约定 . Subversion不要求您拥有这些目录,也不要为它们指定特殊含义 . 但是,这个惯例很常见,除非你有充分的理由,否则你应该遵循惯例 . 其他读者给出的书链接描述了惯例以及如何使用它 .
David Schmitt的答案总结得非常好,但我认为值得注意的是,对于SVN来说,术语“分支”,“标签”和“主干”并不意味着什么 . 这些术语纯粹是语义的,只会影响我们作为系统用户对待这些目录的方式 . 人们很容易将它们命名为“主要”,“测试”和“发布” . 只要使用系统的每个人都理解如何正确使用每个部分,它们被称为什么并不重要 .
开始学习Subversion的好地方是http://svnbook.red-bean.com/ .
就Visual Studio工具而言,我喜欢AnkhSVN,但我还没有尝试过VisualSVN插件 .
VisualSVN确实依赖TortoiseSVN,但TortoiseSVN也是Ankh IMHO的很好的补充 .
要在Visual Studio 2008中使用Subversion,请安装TortoiseSVN和AnkhSVN .
TortoiseSVN是一款非常易于使用的Windows版本控制/版本控制/源代码控制软件 . 由于它不是特定IDE的集成,因此您可以将它与您喜欢的任何开发工具一起使用 . TortoiseSVN可免费使用 . 您无需获得贷款或支付全年工资来使用它 . AnkhSVN是Visual Studio的Subversion SourceControl提供程序 . 该软件允许您直接从Microsoft Visual Studio IDE内部执行最常见的版本控制操作 . 使用AnkhSVN,您不再需要离开IDE来执行诸如查看源代码状态,更新Subversion工作副本和提交更改等任务 . 您甚至可以浏览您的存储库,您可以插入您喜欢的差异工具 .
主干被认为是您的主要代码库,是主干的分支分支 . 比如,如果要实现新功能,但是不想影响主干,则创建分支 .
TortoiseSVN有很好的文档和很棒的差异工具 .
我使用Visual Studio,我使用VisualSVN和TortoiseSVN .
如果您是Subversion的新手,您可以查看SmashingMagazine.com上的这篇文章, Headers 为Ultimate Round-Up for Version Control with SubVersion .
它涵盖了SubVersion的入门,包括教程,参考资料和书籍建议的链接 .
它涵盖了工具(许多是兼容的窗口),它提到了 AnkhSVN 作为Visual Studio兼容的插件 . 评论还提到了 VisualSVN 作为替代方案 .
如果你有一个开发团队,一个很棒的免费工具是SVN Monitor . 它可以作为你树木的心跳,告诉你什么时候有更新,可能的冲突等等 . 虽然这对于独唱开发者来说并不是那么有用 .
一本关于Subversion的好书是Pragmatic Version Control using Subversion,其中解释了你的问题,它提供了更多的信息 .
9 回答
trunk 是SVN存储库中的主要开发线 .
branch 是开发的副线,用于在不使用干线版本的用户的情况下进行更大,实验性或中断性工作 . 此外,分支可用于为同一产品的多个版本创建开发线,例如有一个地方可以将错误修正反向移植到稳定版本中 .
最后, tags 是用于突出显示存储库历史中值得注意的修订的标记,通常是"this was released as 1.0"之类的东西 .
请参阅HTML版“Version Control with Subversion”,尤其是Chapter 4: Branching and Merging或以纸张形式购买(例如从amazon获取),以深入讨论技术细节 .
正如其他人(例如下面的Peter Neubauer)那样,
/tags
/branches
和/trunk
目录的底层实现仅为conventional,并且不会以任何方式强制执行 . 违反这些惯例会导致混乱,因为这会破坏其他人访问存储库的习惯和期望 . 必须特别注意避免将新的更改提交到标记中,这些标记会被冻结 .我使用TortoiseSVN但没有Visual Studio集成 . 我始终在第二台显示器上打开"Check for modifications"对话框,因此我可以跟踪我触摸过的文件 . 但请参阅“Best SVN Tools”问题,获取更多建议 .
"trunk","branches"和"tags"目录是Subversion中的约定 . Subversion不要求您拥有这些目录,也不要为它们指定特殊含义 . 但是,这个惯例很常见,除非你有充分的理由,否则你应该遵循惯例 . 其他读者给出的书链接描述了惯例以及如何使用它 .
David Schmitt的答案总结得非常好,但我认为值得注意的是,对于SVN来说,术语“分支”,“标签”和“主干”并不意味着什么 . 这些术语纯粹是语义的,只会影响我们作为系统用户对待这些目录的方式 . 人们很容易将它们命名为“主要”,“测试”和“发布” . 只要使用系统的每个人都理解如何正确使用每个部分,它们被称为什么并不重要 .
开始学习Subversion的好地方是http://svnbook.red-bean.com/ .
就Visual Studio工具而言,我喜欢AnkhSVN,但我还没有尝试过VisualSVN插件 .
VisualSVN确实依赖TortoiseSVN,但TortoiseSVN也是Ankh IMHO的很好的补充 .
要在Visual Studio 2008中使用Subversion,请安装TortoiseSVN和AnkhSVN .
主干被认为是您的主要代码库,是主干的分支分支 . 比如,如果要实现新功能,但是不想影响主干,则创建分支 .
TortoiseSVN有很好的文档和很棒的差异工具 .
我使用Visual Studio,我使用VisualSVN和TortoiseSVN .
如果您是Subversion的新手,您可以查看SmashingMagazine.com上的这篇文章, Headers 为Ultimate Round-Up for Version Control with SubVersion .
它涵盖了SubVersion的入门,包括教程,参考资料和书籍建议的链接 .
它涵盖了工具(许多是兼容的窗口),它提到了 AnkhSVN 作为Visual Studio兼容的插件 . 评论还提到了 VisualSVN 作为替代方案 .
如果你有一个开发团队,一个很棒的免费工具是SVN Monitor . 它可以作为你树木的心跳,告诉你什么时候有更新,可能的冲突等等 . 虽然这对于独唱开发者来说并不是那么有用 .
一本关于Subversion的好书是Pragmatic Version Control using Subversion,其中解释了你的问题,它提供了更多的信息 .