如何在TFS/Codeplex托管项目上创建分支?

Tho*_*que 10 version-control tfs branch codeplex

也许这只是因为我不熟悉TFS(我已经与SVN大多工作),但我不知道如何创建一个Codeplex上的一个分支托管项目.

我正在使用VS2012.在Source Control Explorer中,我在上下文菜单中选择Branching and Merging> Branch ...但是我不知道在Target字段中输入什么:

在此输入图像描述

如果我尝试$/wpfanimatedgif/branches/1.3,我会收到以下错误:

目标项$/wpfanimatedgif/branches/1.3不能位于源项$/wpfanimatedgif下.

如果我尝试$/branches/1.3,我会收到此错误:

TFS10198:源控件必须分支到现有团队项目中.分支机构不是团队项目.

我还尝试从团队资源管理器创建一个新的团队项目,但我没有所需的权限.

那我怎么能创建一个分支呢?或者在Codeplex项目上不可能这样做?

顺便说一句,我想创建一个分支,是因为我工作的一个实验性的功能,我不希望发布的"躯干"(或任何它被称为在TFS).也许TFS有不同的方式来处理这种情况?我知道搁置更改,但如果我理解正确,搁置的代码将不会在Codeplex上提供,是吗?

Edw*_*son 18

首先,它可能有助于理解"团队项目"是什么 - 它是源控制树顶层源代码控制中的逻辑条目,通常用于一组开发人员,各种权限和设置是设定在这个水平.在团队项目中,您可以拥有多个开发项目,例如Visual Studio解决方案或Java项目.在这种情况下,您的团队项目是$/WpfAnimatedGif.

至于分支和合并,这些发生在团队项目级别之下,通常作为您trunkmain分支机构的同行.TFS分支和合并指南中介绍了各种分支和合并策略,但是名为"WpfAnimatedGif"的Visual Studio解决方案的简化示例可能具有如下所示的分支策略:

$/WpfAnimatedGif/main/WpfAnimatedGif
$/WpfAnimatedGif/branches/1.3/WpfAnimatedGif
$/WpfAnimatedGif/branches/test_features/WpfAnimatedGif
Run Code Online (Sandbox Code Playgroud)

至于"最佳实践",他们将在文件夹下创建一个trunkmain文件$/WpfAnimatedGif夹,并在其下移动你的VS项目.但是,您可以为每个分支创建一个新文件夹,并单独分支每个项目.

例如:

$/WpfAnimatedGif/WpfAnimatedGif 分支到 $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif

$/WpfAnimatedGif/WpfAnimatedGif 分支到 $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif.Demo

但是,由于这些分支是独立的,因此您还必须独立地合并这两个文件夹,而不是从branches文件夹中自动合并.

  • 感谢您的详细解释,我现在明白了.我的错误是我试图分支团队项目本身,而不是其中一个文件夹. (2认同)
  • 是的,顶级文件夹是特殊的并不是很明显,特别是如果你来自不同的版本控制系统,那是不正确的.希望这有帮助. (2认同)