我有一种情况,我不确定我是否可以解决。
我最近开始使用一个从未使用任何类型的版本控制系统的新团队,我们的组织使用TFS作为标准(我之前从未使用过)。
经过很多考验之后,我让管理员为我现有代码在我们的服务器上创建了一个TFS项目,因为我的项目代码都没有被检入过(存在多年后),我想要它版本控制asap,所以我检查了我的项目到项目的根文件夹。没有在http://tfsbranchingguideiii.codeplex.com/阅读分支策略我没有在主项目中设置“主”和“发布”文件夹。
当时,我在本地工作站上有单独的文件夹,其中包含我们制作的不同版本。我检查了每个版本,用版本号标记了它,然后检查了下一个版本。
我现在遇到了我之前发布的一个问题/错误,我正在尝试分支标签,以便在我的某个版本中进行一些更改。 TFS抛出一个错误,我无法在该位置创建分支(因为主项目文件夹下的所有源代码)。
我尝试创建“Main”和“Releases”文件夹,然后将所有源移动到Main文件夹下,但问题是历史记录和标签被固定到原始位置(根文件夹)。如果我尝试分支标签,标签不会存在于我将代码移动到的“Main”文件夹中,而是存在于(在根目录中)创建的位置。
因此,当我从标签尝试分支时,TFS仍在尝试从根文件夹分支。
我的问题是:作为服务器的管理员,有没有办法从原始位置移动所有(来源,历史记录和标签)?
谢谢!
答案 0 :(得分:3)
我认为你不能“移动”历史和标签。正如你所说,他们被绑定到原始的源位置。移动实际上是重命名。
根据我的经验,即使将文件夹重命名为已删除的文件夹,也会导致这些新文件夹获取已删除文件夹的历史记录。
您是否考虑过将当前团队项目分支到另一个团队项目,同时观察新团队项目中所需的文件夹结构。
使用您想要的文件夹结构创建一个新的团队项目。 E.g:
然后,您可以保留旧团队项目以获得“保险”。
它显示了一个合理深思熟虑的文件夹结构是多么有用。