Geo*_*uer 12 svn version-control organization
好的,所以我们都知道标准的SVN设置
trunk\
branches\
tags\
Run Code Online (Sandbox Code Playgroud)
我意识到建议标签应该有"特殊"提交.我从来没有真正使用过标签目录,但我不知道为什么会这样.
我的理解是标签\将包含诸如"Version1Release \,Version2Release \,ThatTimeWeUpgradedEverthing \"之类的内容等等.但是,如果您要进入并需要对Version1Release进行更改,那么它应该是一个分支,如果标签应该永远不会改变,那么在源代码控制中制作副本的意义何在?只需做一个注释修订712是我们的版本1发布.
我想我的困惑是,似乎标签是永远不会改变的版本.但源代码控制就是保留更改文件的历史记录.我知道这是一个次要的组织论点,但我很好奇人们的想法.
Ben*_*ank 13
只需做一个注释修订712是我们的版本1发布.
这对团队中的开发人员来说效果很好,也许(假设你有一个文档存储来制作这样的笔记),但要求任何不熟悉存储库的人"只记得"很快就会变得非常不合理.
例如,假设您的存储库可以通过'net获得.用户可能会选择签出并构建一个副本,以获得他们首选但又模糊的*nix风格,并希望在添加他们不喜欢的功能之前获取一个版本的版本.标签使这种事情变得容易.
标签也是一个很好的"触发点".在我自己的存储库中,提交标记会自动启动(通过post-commit hook)一个脚本,该脚本可以构建,打包并将其发布到我们的网站.
最后,标签是便宜的副本.如果您希望以表示快照不会更改的方式"快照"您的构建,请标记它.它并不像你花了很多钱.:-)
编辑:
要解决"作为分支机构实施"的想法 - 它们不是.真.事实上,Subversion根本没有实现分支或标记.这些完全是用户创建的想法,两者都碰巧使用相同的命令,svn copy.但是,您还可以使用该命令复制主干中的文件; 这没什么特别的.并且对于分支或标签也没有任何固有的特殊之处.它们只是我们决定特别处理的普通目录(甚至可能通过钩子强制执行)以简化项目管理.
只需做一个注释修订712是我们的版本1发布.
对我来说,制作一个Tag 正在记录rev 712是版本1.
通过查看Tags文件夹,也很容易看到所有构建,里程碑,版本等.
如果您考虑标签在VSS中的工作方式,标签可以更快更容易地使用,但是可以完成相同的任务.只是不要过分分析它是使用copy命令制作的事实,就像分支一样.
编辑:如果您对某人提交对Tag文件夹的更改感到偏执,您可以使用预提交挂钩来防止用户使用它.
| 归档时间: |
|
| 查看次数: |
6519 次 |
| 最近记录: |