可能的重复: “树枝”、“标签”和“树干”到底是什么意思?
Subversion中的主干、分支和标记是什么?使用它们的最佳实践是什么?
我可以在Visual Studio 2008中使用哪些工具进行Subversion ?
可能的重复: “树枝”、“标签”和“树干”到底是什么意思?
Subversion中的主干、分支和标记是什么?使用它们的最佳实践是什么?
我可以在Visual Studio 2008中使用哪些工具进行Subversion ?
当前回答
“主干”、“分支”和“标记”目录是Subversion中的约定。Subversion不要求您拥有这些目录,也不要求为它们赋予特殊含义。然而,这种惯例是非常常见的,除非你有一个非常好的理由,否则你应该遵循惯例。其他读者提供的书籍链接描述了这种惯例以及如何使用它。
其他回答
开始学习Subversion的一个好地方是http://svnbook.red-bean.com/。
就Visual Studio工具而言,我喜欢AnkhSVN,但我还没有尝试过VisualSVN插件。
VisualSVN确实依赖于TortoiseSVN,但TortoiseSVN也是Ankh的一个很好的补充。
如果你是Subversion的新手,你可能想看看SmashingMagazine.com上的这篇文章 标题为“SubVersion版本控制终极综述”。
它涵盖了如何开始使用SubVersion,并提供了到教程、参考资料和书籍建议的链接。
它涵盖了工具(许多是兼容的窗口),并提到AnkhSVN是Visual Studio兼容的插件。注释还提到了VisualSVN作为替代方案。
主干被认为是主代码库,是主干的分支分支。比如,如果你想实现一个新特性,但又不想影响主干,你可以创建一个分支。
TortoiseSVN有良好的文档,和一个伟大的差异工具。
我使用Visual studio,我使用VisualSVN和TortoiseSVN。
如果您有一个开发人员团队,可以使用一个很棒的免费实用程序SVN Monitor。它充当树的心跳,告诉您何时有更新、可能的冲突等。但这对于独立开发者来说并不是很有用。
中继是SVN存储库中的开发主线。
分支是开发的副线,创建的目的是在不惹恼主干版本的用户的情况下,使工作变得更大、更实验性或更具破坏性。此外,分支还可以用于为同一产品的多个版本创建开发线,比如有一个地方可以将错误修复后移植到稳定的版本中。
最后,标记是用来突出存储库历史中值得注意的修订的标记,通常是像“此版本发布为1.0”这样的东西。
请参阅“版本控制与颠覆”的HTML版本,特别是第4章:分支和合并,或购买纸质版(例如从亚马逊购买),以深入讨论技术细节。
就像其他人(例如下面的Peter Neubauer)一样,作为/tags /branches和/trunk目录的底层实现只是常规的,而不是由工具强制执行的。违反这些约定会导致混乱,因为这会破坏其他人访问存储库的习惯和期望。必须特别注意避免将新更改提交到标记中,标记应该被冻结。
我使用TortoiseSVN,但没有Visual Studio集成。我在第二个监视器上一直打开“检查修改”对话框,这样我就可以跟踪我碰过哪些文件。但请参阅“最佳SVN工具”问题,以获得更多建议。