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

TFS2010,是否可以追溯创建分支?,tfs,Tfs,使用TFS2010的时间只有几个月,所以比较新手,现在可能需要创建我的第一个分支,不幸的是,我需要从旧的变更集创建它,这可能吗 基本场景是我从VSS 6.0转换了一个项目,有历史记录,一切都很顺利。该项目有大约500个源文件 在从VSS转换之前,我们开始在项目的4.0版本上工作,没有计划发布更多的3.1错误修复,因此当时我们没有建立任何分支 因此,我们对大约20个文件进行了重大更改(我可以确定),但现在客户希望发布3.11、3.2、3.3等版本,因为不是每个人都准备好在短期内使用4.0产品 我想

使用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分支中,而且,我们需要在未来几个月内对这两个分支进行更多的bug修复

也许这是TFS的一个非常直接的用例,但我只是想确保我不会把已经运行得非常好的东西搞砸


建议?

您可以从任何变更集创建分支,从源代码管理资源管理器UI中创建分支非常简单。只需使用源代码管理资源管理器导航到要分支的服务器路径,选择分支,然后您将获得“从版本分支”选项。只需选择要从中分支的任何变更集,就可以从中创建新分支,而不是从最新版本的默认版本中创建新分支。

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

然后构造一个分支,继续朝着3.1x的方向努力

在基本分支上执行“获取最新版本”应该会得到版本4.0中的源代码,我刚才已经这样做了

我从codeplex中的一个分支团队项目开始了我的解决方案:

-MyPrettyCMS/数据库

-MyPrettyCMS/Framework

-MyPrettyCMS/Layers

-MyPrettyCMS/Portals

-MyPrettyCMS/Solution

不可能创建团队项目的分支

警告!我尝试将团队项目文件夹转换为分支,但成功了,但之后,我无法创建任何分支,并且我没有足够的权限撤消该分支(我必须请求Code Plex TFS管理员为我撤消)

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

所以我创建了一个团队项目文件夹子文件夹CurrentRelease,如下所示

-MyPrettyCMS/数据库

-MyPrettyCMS/Framework

-MyPrettyCMS/Layers

-MyPrettyCMS/Portals

-MyPrettyCMS/Solution

-MyPrettyCMS/CurrentRelease

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

结果是

-MyPrettyCMS/CurrentRelease/Database

-MyPrettyCMS/CurrentRelease/Framework

-MyPrettyCMS/CurrentRelease/Layers

-MyPrettyCMS/CurrentRelease/Portals

-MyPrettyCMS/CurrentRelease/Solution

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

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

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

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

那我有

-MyPrettyCMS/CurrentRelease/Database

-MyPrettyCMS/CurrentRelease/Framework

-MyPrettyCMS/CurrentRelease/Layers

-MyPrettyCMS/CurrentRelease/Portals

-MyPrettyCMS/CurrentRelease/Solution

-MyPrettyCMS/CurrentRelease-To-2-50-001/数据库

-MyPrettyCMS/CurrentRelease-To-2-50-001/Framework

-MyPrettyCMS/CurrentRelease-To-2-50-001/层

-MyPrettyCMS/CurrentRelease-To-2-50-001/Portals

-MyPrettyCMS/CurrentRelease-To-2-50-001/解决方案

我归档了分支的初始版本

现在我可以在下一个版本中工作,并对当前版本进行一些小的修改