我从包含所有分支的根项目文件夹运行命令tfpt unshelve /migrate /source:$/Dev/MyBranch /target:$/Main
,注意首先撤消源和目标分支中的所有挂起的更改(包括和排除)。正如预期的那样,我看到一个对话框,要求我选择一个shelveset,然后在我的VS Developer命令提示符中选择shelveset中的文件纲要:
edit: file1.js
edit: file2.js
add: file3.js
add: file4.js
add: file5.html
edit: file6.css
...
奇怪的是文件合并回我的源分支(Dev \ MyBranch)而不是合并到我的目标分支(Main)。在tfpt unshelve /undo
所需的搁置集之后,我尝试切换目标和源分支的路径,即tfpt unshelve /migrate /source:$/Main /target:$/Dev/MyBranch
,但它具有相同的结果。我也试过从\ Dev \ MyBranch和\ Main而不是根项目文件夹运行命令,但不管我做了什么,shelveset总是合并到我最初搁置它的dev分支。我无法通过搜索找到任何其他此类问题的案例,我不知道还有什么可以尝试。