我在Subversion(以及一般的存储库)讨论中经常看到这些词。 在过去的几年里,我一直在我的项目中使用SVN,但是我从来没有掌握这些目录的完整概念。

它们是什么意思?


当前回答

中继目录可能是您最熟悉的目录,因为它用于保存最新的更改。你的主要代码库应该在trunk中。

分支目录用于保存分支,无论它们是什么。

标签目录主要用于标记一组特定的文件。您可以对发布版本这样做,其中您希望“1.0”是这些修订版本的这些文件,“1.1”是这些修订版本的这些文件。通常,标签制作完成后就不需要修改了。有关标签的更多信息,请参见第4章。分支和合并(在Subversion版本控制中)。

其他回答

主干:在敏捷的每一个冲刺阶段结束后,我们会推出一个部分可交付的产品。这些释放物被保存在后备箱里。

分支:每个正在进行的冲刺的所有并行开发代码都保存在分支中。

标签:每次我们发布一个部分可发货的产品的测试版,我们都会为它做一个标签。这为我们提供了在那个时间点可用的代码,允许我们在开发过程中的某个时间点需要时回到那个状态。

标签=在时间上定义的片段,通常用于发布

我认为这就是人们通常所说的“标签”。但是在Subversion中:

它们没有任何正式的含义。文件夹对于SVN来说就是一个文件夹。

我觉得很困惑:一个对分支或标签一无所知的修订控制系统。从实现的角度来看,我认为创建“副本”的Subversion方式非常聪明,但我必须了解它,这就是我所说的有漏洞的抽象。

或者我使用CVS的时间太长了。

对于熟悉GIT的人来说,GIT中的master相当于SVN中的trunk。

分支和标记在GIT和SVN中有相同的术语。

它们没有任何正式的含义。文件夹就是文件夹 SVN。它们是组织项目的一种普遍接受的方式。

The trunk is where you keep your main line of developmemt. The branch folder is where you might create, well, branches, which are hard to explain in a short post. A branch is a copy of a subset of your project that you work on separately from the trunk. Maybe it's for experiments that might not go anywhere, or maybe it's for the next release, which you will later merge back into the trunk when it becomes stable. And the tags folder is for creating tagged copies of your repository, usually at release checkpoints.

但正如我所说,对于SVN,文件夹就是文件夹。分支、主干和标签只是一种约定。

我随意使用“复制”这个词。SVN实际上并不完全复制存储库中的内容。

在SVN中,标记和分支非常相似。

标签=在时间上定义的片段,通常用于发布

分支=在开发过程中定义的片段,通常用于1.0、1.5、2.0等主要版本,然后在发布时标记分支。这允许您继续支持产品版本,同时在主干中进行突破性的更改

Trunk =开发工作空间,这是所有开发应该发生的地方,然后从分支发布合并回来的更改。