< p > 可能的重复: < br > branch”, “tag”和“;trunk”的真正意思是什么呢? < / p >
Subversion中的主干、分支和标记是什么?使用它们的最佳实践是什么?
我可以在Visual Studio 2008中使用什么工具进行Subversion ?
开始学习Subversion的一个好地方是http://svnbook.red-bean.com/。
就Visual Studio工具而言,我喜欢AnkhSVN,但我还没有尝试过VisualSVN插件。
VisualSVN确实依赖于TortoiseSVN,但TortoiseSVN也是Ankh的一个很好的补充。
主干被认为是主代码库,是主干的分支分支。比如,如果你想实现一个新特性,但又不想影响主干,你可以创建一个分支。
TortoiseSVN有很好的文档,和一个伟大的差异工具。
我使用Visual studio,我使用VisualSVN和TortoiseSVN。
要在visual studio2008中使用Subversion,请安装TortoiseSVN和AnkhSVN。
TortoiseSVN是一个非常容易使用的Windows版本控制/版本控制/源代码控制软件。 由于它不是针对特定IDE的集成,您可以将其与您喜欢的任何开发工具一起使用。 TortoiseSVN免费使用。你不需要贷款,也不需要支付全年的工资来使用它 AnkhSVN是Visual Studio的Subversion sourceccontrol Provider。该软件允许您直接从Microsoft Visual Studio IDE内部执行最常见的版本控制操作。使用AnkhSVN,您不再需要离开IDE来执行诸如查看源代码状态、更新Subversion工作副本和提交更改等任务。您甚至可以浏览您的存储库,并可以插入您最喜欢的diff工具。
TortoiseSVN是一个非常容易使用的Windows版本控制/版本控制/源代码控制软件。 由于它不是针对特定IDE的集成,您可以将其与您喜欢的任何开发工具一起使用。 TortoiseSVN免费使用。你不需要贷款,也不需要支付全年的工资来使用它
AnkhSVN是Visual Studio的Subversion sourceccontrol Provider。该软件允许您直接从Microsoft Visual Studio IDE内部执行最常见的版本控制操作。使用AnkhSVN,您不再需要离开IDE来执行诸如查看源代码状态、更新Subversion工作副本和提交更改等任务。您甚至可以浏览您的存储库,并可以插入您最喜欢的diff工具。
一本关于Subversion的好书是实用版本控制使用Subversion,其中解释了你的问题,并提供了更多的信息。
它涵盖了使用教程,参考资料,以及;书的建议链接开始SubVersion。
它涵盖了工具(许多是兼容的窗口),并提到AnkhSVN是Visual Studio兼容的插件。注释还提到VisualSVN作为替代。
树干是SVN存储库中开发的主线。
分支是开发的副线,用于在不惹恼主干版本用户的情况下进行更大的、实验性的或破坏性的工作。此外,分支还可以用于为同一产品的多个版本创建开发线,比如有一个地方可以将错误修复后移植到稳定的版本中。
最后,标签是标记,用于突出存储库历史中值得注意的修订,通常是像“此发布为1.0”这样的东西。
查看“使用Subversion进行版本控制”的HTML版本,特别是第四章:分支和合并或购买纸质版本(例如从亚马逊购买),以深入讨论技术细节。
就像其他人(例如下面的Peter Neubauer)一样,作为/tags /branches和/trunk目录的底层实现只是传统的,而不是由工具以任何方式强制执行。违反这些约定会导致混乱,因为这会破坏其他人访问存储库的习惯和期望。必须特别注意避免将新更改提交到标记中,应该将被冻结。
/tags
/branches
/trunk
我使用TortoiseSVN但没有Visual Studio集成。我在第二个监视器上一直打开“检查修改”对话框,这样我就可以跟踪我碰过哪些文件。但请参阅“最佳SVN工具”问题,以获得更多建议。
如果你有一个开发团队,可以使用SVN监控这个很棒的免费工具。它充当树的心跳,告诉您何时有更新、可能的冲突等。但这对于独立开发者来说并不是很有用。
“trunk”、“branches”和“tags”目录在Subversion中是约定。Subversion不要求您拥有这些目录,也不要求为它们赋予特殊含义。然而,这种惯例是非常常见的,除非你有一个非常好的理由,否则你应该遵循惯例。其他读者提供的书籍链接描述了这种惯例以及如何使用它。
David Schmitt的回答很好地总结了这一点,但我认为需要注意的是,对于SVN来说,术语“分支”、“标签”和“主干”没有任何意义。这些术语是纯语义的,仅影响作为系统用户的我们对待这些目录的方式。人们可以很容易地将它们命名为“主”、“测试”和“发布”。只要使用系统的每个人都理解如何正确使用每个部分,那么它们被称为什么并不重要。