【发布时间】:2010-10-16 10:43:24
【问题描述】:
【问题讨论】:
标签: svn branch tags conventions trunk
【问题讨论】:
标签: svn branch tags conventions trunk
主干是 SVN 存储库中开发的主线。
分支是开发的一个副线,用于在不惹恼主干版本用户的情况下进行更大的、实验性的或破坏性的工作。此外,分支可用于为同一产品的多个版本创建开发线,例如将错误修复反向移植到稳定版本中。
最后,标签是用来突出存储库历史中显着修订的标记,通常是“这是作为 1.0 发布的”。
请参阅“Version Control with Subversion”的 HTML 版本,尤其是 Chapter 4: Branching and Merging 或以纸质形式购买(例如来自 amazon),以深入讨论技术细节。
与其他人(例如下面的 Peter Neubauer)一样,作为 /tags /branches 和 /trunk 目录的底层实现仅是 conventional 并且不以任何方式由工具强制执行。违反这些约定会导致混乱,因为这会破坏其他人访问存储库的习惯和期望。必须特别注意避免将新更改提交到标签中,这些更改应该被冻结。
我使用TortoiseSVN,但没有集成 Visual Studio。我一直在第二台显示器上打开“检查修改”对话框,这样我就可以跟踪我接触了哪些文件。但请参阅“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 恕我直言的一个很好的补充。
【讨论】:
要在 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 上的这篇文章 标题为Ultimate Round-Up for Version Control with SubVersion。
它涵盖了 SubVersion 的入门以及指向教程、参考资料和书籍建议的链接。
它涵盖了工具(许多是兼容的窗口),并提到 AnkhSVN 作为 Visual Studio 兼容插件。 cmets 还提到 VisualSVN 作为替代方案。
【讨论】:
SVN Monitor 是一款非常棒的免费实用工具,如果您有一个开发团队可以使用。它可以作为你的树的心跳,告诉你什么时候有更新、可能的冲突等。不过,它对一个单独的开发者来说并不是那么有用。
【讨论】:
Pragmatic Version Control using Subversion 是一本关于 Subversion 的好书,其中解释了您的问题,并且提供了更多信息。
【讨论】: