TFS2010,是否有可能追溯创建分支?

时间:2011-09-15 13:45:27

标签: tfs tfs2010

现在使用TFS2010仅仅几个月了所以相对新手,现在可能需要创建我的第一个分支,不幸的是我需要从旧的变更集创建它,这可能吗?

基本场景是我从VSS 6.0转换了一个带有历史记录的项目,一切都很顺利。项目有大约500个源文件。

在从VSS转换之前,我们开始研究我们项目的4.0版,没有计划再发布3.1的错误修复,所以我们当时没有建立任何分支。

所以我们对大约20个文件进行了重大更改(我可以识别),但现在客户想要发布3.11,3.2,3.3等,因为不是每个人都准备好很快就会去4.0产品。

我认为我们要创建一个分支,然后使用TFS将该分支中的大约20个文件回滚到旧版本,这可能吗?从我们现在的位置创建一个分支,然后回滚一些文件?或者创建分支会导致您丢失该分支的历史记录吗?

稍微复杂一点的是,在我们开始使用4.0之后,除了进行4.0特定更改之外,我们还进行了一些更改,我们需要进入他们3.1分支并保留在我们正在处理的4.0分支中此外,我们需要在接下来的几个月内修复更多错误修复,这需要适用于两个分支机构。

也许这对于TFS来说是一个非常简单的用例,但只是想确保我不会搞砸已经完美无缺的工作。

建议?

3 个答案:

答案 0 :(得分:6)

您可以从任何变更集创建分支,并且可以从Source Control Explorer UI中轻松完成。只需使用Source Control Explorer导航到要分支的服务器路径,选择分支,然后您将获得“从版本分支”选项。只需选择要分支的任何变更集,就可以从中创建新分支,而不是默认的最新版本。

答案 1 :(得分:2)

为什么不选择使用“获取特定版本”来获取相应的基本版本,该版本将召唤您所需状态的来源 - 版本3.1。

然后建立一个分支继续努力3.1x

在您的基础分支上执行“获取最新”应该是您的4.0版本源

答案 2 :(得分:1)

我刚做完了。

我在codeplex中使用一个分支团队项目启动了我的解决方案:

- 的 MyPrettyCMS /数据库

- 的 MyPrettyCMS /框架

- 的 MyPrettyCMS /图层

- 的 MyPrettyCMS /门户

- 的 MyPrettyCMS /溶液

无法创建团队项目的分支

警告!我尝试将Team Project文件夹转换为分支,但是在那之后,我无法创建任何分支,而且我没有足够的权限来撤销它(我不得不要求Code Plex TFS管理员为我撤消)。 / p>

所有这一切都必须使用团队资源管理器完成,而不是使用解决方案资源管理器。

所以我创建了一个Team项目文件夹子文件夹CurrentRelease,就像这样

- 的 MyPrettyCMS /数据库

- 的 MyPrettyCMS /框架

- 的 MyPrettyCMS /图层

- 的 MyPrettyCMS /门户

- 的 MyPrettyCMS /溶液

- 的 MyPrettyCMS / CurrentRelease

然后,对于每个文件夹,我使用了team explorer move命令(即使你有插件,也不要使用Windows资源管理器移动文件夹,因为有时它会失败)。

结果是

- 的 MyPrettyCMS / CurrentRelease /数据库

- 的 MyPrettyCMS / CurrentRelease /框架

- 的 MyPrettyCMS / CurrentRelease /图层

- 的 MyPrettyCMS / CurrentRelease /门户

- 的 MyPrettyCMS / CurrentRelease /解决方案

此时您必须存档每个CurrentRelease子文件夹

现在您打开Windows资源管理器并验证每个文件夹及其后代,看看您是否忘记了某些文件。如果您这样做,请将其复制到新文件夹,使用团队资源管理器的添加文件将其添加到存档。您必须再次存档。

右键单击MyPrettyCMS / CurrentRelease ans select命令创建分支

我使用CurrentRelease-To-2-50-001作为分支名称

然后我

- 的 MyPrettyCMS / CurrentRelease /数据库

- 的 MyPrettyCMS / CurrentRelease /框架

- 的 MyPrettyCMS / CurrentRelease /图层

- 的 MyPrettyCMS / CurrentRelease /门户

- 的 MyPrettyCMS / CurrentRelease /解决方案

- 的 MyPrettyCMS / CurrentRelease到2-50-001 /数据库

- 的 MyPrettyCMS / CurrentRelease到2-50-001 /框架

- 的 MyPrettyCMS / CurrentRelease到2-50-001 /图层

- 的 MyPrettyCMS / CurrentRelease到2-50-001 /门户

- 的 MyPrettyCMS / CurrentRelease到2-50-001 /溶液

我存档了分支的初始版本。

现在我可以处理我的下一个版本并对当前版本进行一些小修改。