创建尚不存在的TFS分支

时间:2018-03-29 12:53:44

标签: tfs version-control branching-and-merging tfs2017 tfvc

我在TFS2017的前提下更新了1(15.112.26307.0)。

在我的Project系列中,我有一个项目,我们称之为Project1;它在源代码管理中表示为“$ / Project1”。此项目没有分支,解决方案文件位于根目录(“$ / Project1 / Project1.sln”)中,所有源都位于根目录下的文件夹中(例如“$ / Project1 / Application1”,“$ / Project1 / Library1“,”$ / Project1 / Library2“)。正如您所期望的那样,各种项目之间都有参考,所有项目都有历史。

我想向项目引入分支,并且需要将所有现有开发移动到根目录下的新文件夹中,以便我可以从该文件夹分支。在Source Control Explorer中,我创建了一个名为“master”的新文件夹(“$ / Project1 / master”),它将成为创建其他开发分支的主分支。

现在,我如何将现有的解决方案文件移动到该文件夹​​中,以免丢失任何历史记录并维护组件之间的现有关系?

我尝试选择项目根目录中的其他文件夹(“$ / Project1 / Project1.sln”,“$ / Project1 / Application1”,“$ / Project1 / Library1”,“$ / Project1 / Library2” )并且移动命令,但它是灰色的。我还在其他地方读到,如果我以这种方式移动文件夹,它实际上是一个删除,然后是一个新文件,我将丢失所有历史记录。

2 个答案:

答案 0 :(得分:0)

首先,您必须创建文件夹并签入挂起的更改。 然后,您可以通过右键单击文件夹将文件夹转换为源代码管理资源管理器中的分支。

enter image description here

将文件夹转换为分支后,必须获取最新版本,以便在计算机上本地获取代码。这将在上下文菜单中启用“移动”命令。

答案 1 :(得分:0)

在源代码管理中禁用了移动命令。

  

这通常是因为您没有映射父文件夹   本地。

     

此外,如果父文件夹映射到其他文件夹,也会发生这种情况   位置使得本地映射的结构不匹配   服务器文件夹的结构。

关于TFS中移动的文件/文件夹历史记录

无法保留文件夹历史记录。

副本(分支)将丢失文件夹历史记录,但单个文件历史记录实际上并没有丢失。它隐藏在小小的#34;展开我"文件历史记录行最左侧的箭头。在文件的最旧历史记录条目或您看到的任何位置展开它,您将从不再存在的旧位置看到该单个文件的历史记录。

详情请参考此主题:http://stackoverflow.com/questions/28990323/moving-files-lose-history-in-tfs-2013