我需要帮助解决以下问题:
我试图将源分支中的代码取消搁置到目标分支上。
我使用以下内容:
当我使用命令提示符执行取消搁置操作时,会发生以下情况:
我已经下载了电动工具的ServicePack1。 但是,我未能解决这个问题。
答案 0 :(得分:8)
我遇到了同样的问题并在我从源分支重新搁置变更集时修复了它,但选择不在本地保留挂起的变更。在此之后,新货架的迁移顺利进行。
(我也确定我已经按照以下从本网站上的其他答案收集的步骤开始了)
答案 1 :(得分:8)
使用 Visual Studio 2013 和以下命令时出现同样的错误:
> tfpt unshelve /migrate /source:"$/Root/Solution" /target:"$/Root/Branches/Solution" "The name of my shelveset"
> An item with the same key has already been added
的研究强>
以下是我尝试解决问题的方法:
的解决方案强>
打开等效的VS2013 x86 Native Tools命令提示符。
检查您是否安装了Team Foundation Power Tools:
C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ tfpt
确保您有0 待处理和排除更改。
我有一些被排除的变化被检测到但没有被添加,这就是让我失望的原因。排除的更改应如下所示:
注意:否“检测到:XX(添加)” - 不应该可见
当您运行tf status
时,您会看到以下内容
.tfignore 文件的1次更改或0次更改。任何其他事情都会扰乱合并。
C:\ tfs \ Root \ Solution> tf状态
文件名更改本地路径
$ / Root .tfignore编辑C:\ tfs \ Root \ Solution.tfignore
1次更改
确保您从源解决方案目录运行tfpt
命令
您现在应该能够成功地将一个分支的搁置集合并到另一个分支。
关于.tfsignore的说明:
如果你有很多未决的变更,你不想因任何原因撤消,那么
对.tfignore文件的修改是可以的。
如果这是您保留更改的唯一文件,则不会制动合并。
.tfignore reference => stackoverflow - How to ignore files/directories in tfs?
答案 2 :(得分:4)
尝试撤消Source和Target分支上的所有更改,然后重试......
答案 3 :(得分:2)
尝试删除以下文件夹中的所有文件,然后重新启动VS2012(Source):
C:\ Users [USERNAME] \ AppData \ Local \ Microsoft \ Team Foundation \ 4.0 \ Cache