我什么时候可以在SVN存储库中查看TRUNK与完整项目?
-
01-10-2019 - |
题
关于SVN和检查存储库有一个(希望很小的)问题。基本上,我看到有关检查什么以及何时检查的教程和建议。有人会说:
Svn Co http://my.repos.com/project 我的项目
…而其他人说:
Svn Co http://my.repos.com/project/trunk 我的项目
我什么时候要直接抓住整个项目的行李箱?过去,我从来没有遇到过任何麻烦,但是我不确定是否有一个比另一种可取的场景。
最好的。
解决方案
关于这一点还有其他几点要注意。
- 这
tags
树(通常是树)在特定时间点中包含代码的假设不变快照;这不是您要更改的内容,因为大多数部署将基于标签 - 大多数颠覆客户都会抱怨,如果您尝试在
tags
树,而不仅仅是复制 - 出于大多数目的,
trunk
是目录下的特殊情况branches
;唯一的重大区别是,它有望包含主要开发路径
正如其他人所指出的那样,通常没有充分的理由检查整个项目,因为大多数时候您只在行李箱和一个或两个分支上工作,整个项目可以吃大量的磁盘空间。主要开发“分支”通常是您唯一需要的东西。
这是一个现实世界的示例。我们的团队对行李箱进行了所有代码更改。当我们需要Alpha(预完成)版本时,我们只会标记行李箱。在给定版本中点击“代码完成”后,我们将创建一个代码冻结分支,在其中进行所有版本更改。 Beta,RC和GA版本是从该分支标记的。如果我们需要修补GA释放,则将对分支进行补丁并合并到中继线。这样,如果我们需要修补特定的内容,我们就不必担心将较新的代码泄漏到已测试和批准的GA中。它还使我们能够在冻结代码后立即开始处理该软件的下一个版本。
另外,如果有一个“侧面项目”,则可以为中继线提供带外,您可以为此创建一个分支,并在准备就绪时合并它。
有些团队喜欢为每个错误创建一个分支,有些团队直接在行李箱上工作(例如我的)。如果您的团队进行分支错误,我将永远不会检查整个项目。除其他外,我会看到很多我不在乎的代码。
另外,关于存储库管理的一点 @humble_coder
- 大多数颠覆工具在分支/标签管理方面都很容易使用。例如,TortoisesVN具有一个存储库浏览器,可让您轻松地复制周围的内容(创建分支和标签),甚至SVN命令行工具也可以用来做与原子操作相同的事情(我们实际上有一个脚本这会创建alpha标签,代码冻结分支或冻结后发布标签)。
希望这可以帮助!
其他提示
通常,颠覆存储库有3个主要目录:
- 分支
- 标签
- 树干
TRUNK是代码的最新分支。
通常创建分支机构,以开发您尚未在中继线中想要的特定功能。
标签就像行李箱的保存点。
如果您在项目的根部进行结帐,则将获得所有分支,所有标签和中继线。这可能导致大量数据。
例如,如果标记每个代码版本,您将从过去的所有版本中获取源代码!
我希望这能帮到您
杰罗姆·瓦格纳(Jerome Wagner)
这取决于您如何布置存储库,但是通常,您将拥有此结构:
/trunk
/tags
/branches
内部 tags
和 branches
, ,您可能有几个项目的副本(再次取决于如何使用存储库)。
如果您的存储库是以这种方式布置的,并且您可以结帐 /
, ,您最终将获得代码(标签和分支)的几个副本,您可能不应该触摸(例如,标签)。
如果您结帐 /trunk
取而代之的是,您只需查看您当前正在处理的版本,这就是您通常想要的。
我永远不会结帐整个项目。通常,我一次只对一个分支感兴趣,大概两个,偶尔三个。我总是检查并更新。如果我需要检查已发布的标签的操作(也许是为了进行错误调查),我会检查并进行调查并删除。存储在下面的分支 branches
通常,注意跨度要短得多,也就是说,它们在短时间内发烧并发烧,然后再也没有碰到。