我知道以前曾有人问过这个问题,但由于没有答案,我再次询问。

我正在尝试将一个货架集从一个分支迁移到另一个分支。我正在工作区DIR中运行以下命令:

tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch


当我运行该命令时,会弹出“ shelveset details”窗口,其中包含更改和文件夹(指向$ / Main)

单击取消搁置会给我显示“冲突”对话框,同样,文件夹指向$ / main。如果单击“解决”,则会得到以下选项:


保留我的本地更改撤消我的本地更改,并搁置
撤消我的本地更改,然后执行搁置的更改。
保留我的本地更改,并合并本地和搁置的内容


无论选择哪种方式,都不会在“新分支”中获得任何待定的更改。我唯一待处理的更改是针对主分支。

有任何想法吗?

最佳答案

您需要从映射到目标分支(在您的示例中为$/new-branch)的目录中运行此命令。

例如,如果您当前的分支是=> Main,它映射到您的工作空间中的C:\Workspace\TeamProject\Main\...

并且您想将更改移至Dev,该Dev映射在D:\Workspace\TeamProject\Dev

然后,需要从以下目录运行以下命令:

C:\Workspace\TeamProject\Main> tfpt unshelve "changes;muusername" /migrate /source:$/TeamProject/Main /target:$/TeamProject/Dev


有关更多详细信息,请参见Tarun的博客文章:http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx

关于tfs - TFPT搁置迁移无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12586290/

10-13 07:56