我们已经使用MKS几年了,现在一个新项目已经启动并且必须使用TFS。
在MKS中,我们可以获取项目的检查点(基线/快照),然后根据需要从该基线创建分支,即使在该开发线的进一步检查点发生后的较晚日期也是如此。
如何在TFS中复制此内容?标签似乎不合适,因为它们可以更改,我希望基线成为某个时间点开发的真实快照。据我所知,变更集仅用于记录工件的更改。
答案 0 :(得分:1)
我认为Changesets是您想要使用的。虽然变更集确实标识了一组特定的代码更改,但是当您根据变更集在TFS中执行操作时,TFS通常会将其解释为“所有变更,包括变更集XXX。”
所以,假设您要求在变更集12345
处分支。 TFS将获取与变更集相关联的所有文件小于或等于12345
- 即使它们不属于12345
。
您可以执行的另一个选项是根据特定日期/时间进行分支。例如,如果您在6月1日上午11:00有一个主要版本,则可以简单地从该特定日期和时间分支所有代码。
所有这些,在我们的组织中,我们使用标签。是的,标签可以移动,但这不一定是坏事,因为它可以让你解决错误。例如,假设我们有一个标签:ProdMove_June
。
6月发布后的一段时间,我们意识到,由于流程失败,配置文件未包含在TFS中(或者文件是从TFS部署的,但需要在SCM流程之外进行更改以响应紧急情况)。然后我们将此文件移动到TFS中,并需要为将来的所有分支标记它。如果是这种情况,那么我们需要做的就是在单个文件上移动标签。
在我看来,这三种方法都是有效的,我们实际上使用组织内的所有三种方法来构建,分支和获取代码。我建议你在你的实用腰带上用三个这样的武器装备自己,并在适当的时候使用它们。
答案 1 :(得分:0)
一种选择是创建分支然后锁定分支。锁定分支使分支只读。